使用JupyterLab SQL Magic throw编程错误连接到DB2z:“CURRENT”无效

2024-10-04 07:25:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试设置一个Jupyter笔记本,使用sqlmagic(%and%%表示法)访问ibmdb2z数据库。在

我跟随本教程安装DB2 SQLAlchemy驱动程序: https://blog.4loeser.net/2016/11/sql-magic-in-notebooks-in-ibm-data.html

现在我在Jupyter实验室的代码如下:

!pip install --user ipython-sql 
!pip install --user ibm_db
!pip install --user ibm_db_sa

import getpass
import ibm_db
import ibm_db_sa
import sqlalchemy

user = input("User: ")
passw = getpass.getpass("Passwort: ")

# loads the SQL magic extensions
%load_ext sql
%sql db2+ibm_db://$user:$passw@xxx.xxx.xx:55555/XXX

但会导致以下错误:

^{pr2}$

我可以排除用户名密码或驱动程序中的错误,因为它是使用pandas works实现的:

import pandas as pd
from sqlalchemy.engine import create_engine

engine = create_engine("db2+ibm_db://"+user+":"+passw+"@xxx.xxx.xx:55555/XXX")
#Read Data query into a DataFrame
df = pd.read_sql("""select * from XXX.XXXXX limit 1""", engine)
df.head()

关键字CURRENT似乎有一个问题,但是我无法理解pandas和sqlmagic之间的区别。在


Tags: installpipimportpandasdbsqljupyteribm
2条回答

这可能是ibm_db_sa模块中的已知问题。 看看这个issue,它目前似乎正在等待修复。 最好是通过github而不是stackoverflow来解决这个问题。在

我建议使用ibm_db和ibm_db_dbi包装器。请参阅我的db2文章以获得更好的解释

相关问题 更多 >