我尝试使用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([])
我实际上使用这种格式,但它只是不会工作。
2条答案
按热度按时间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)。mznpcxlj2#
错误说明格式是
username:password@hostname/dbname
。您将在您的中看到您添加了端口号,因此更改将是jqg6xxxx:r9C98t4TY81xxxxx@fbd88901-ebdb-4a4f-a32e-9822b9fb237b.c1ogj3sdxxxxxtu0lqde00.databases.appdomain.cloud/bludb?security=SSL
。我最近遇到了同样的问题,它对我有效。