使用python和sqlalchemy连接到DB2时出错-需要SQLAlchemy格式的连接信息

ycl3bljg  于 2022-11-07  发布在  DB2
关注(0)|答案(2)|浏览(263)

我尝试使用SQLAlchemy连接格式连接到IBM DB2数据库,但它总是无法连接。
我正在使用这些库:

!pip install sqlalchemy==1.3.9
!pip install ibm_db_sa
!pip install --force-reinstall ibm_db_sa ibm_db

加载连接器:

%load_ext sql

我的连接字符串:

%sql ibm_db_sa://jqg6xxxx:r9C98t4TY81xxxxx@fbd88901-ebdb-4a4f-a32e-9822b9fb237b.c1ogj3sdxxxxxtu0lqde00.databases.appdomain.cloud:32731/bludb?security=SSL

错误消息:

Connection info needed in SQLAlchemy format, example:
           postgresql://username:password@hostname/dbname
           or an existing connection: dict_keys([])
'sqlalchemy.cimmutabledict.immutabledict' object does not support item deletion
Connection info needed in SQLAlchemy format, example:
           postgresql://username:password@hostname/dbname
           or an existing connection: dict_keys([])

我实际上使用这种格式,但它只是不会工作。

wljmcqd8

wljmcqd81#

您的连接字符串似乎格式不正确:请尝试使用以下结尾,而不要像您的问题中所示的那样以/bludb?security=SSL结尾:
/bludb;security=SSL;
请注意分号前缀和后缀。
我可以使用SQLAlchemy 1.3.24、ibm_db 3.1.0和ibm_db_sa 0.3.7。当然,要求连接字符串的所有其他部分都正确。
另外:前缀ibm_db_sa://....db2+ibm_db://对我来说都适用于云上的Db2(lite)。

mznpcxlj

mznpcxlj2#

错误说明格式是username:password@hostname/dbname。您将在您的中看到您添加了端口号,因此更改将是jqg6xxxx:r9C98t4TY81xxxxx@fbd88901-ebdb-4a4f-a32e-9822b9fb237b.c1ogj3sdxxxxxtu0lqde00.databases.appdomain.cloud/bludb?security=SSL。我最近遇到了同样的问题,它对我有效。

相关问题