简体   繁体   中英

Error connecting to DB2 with python and sqlalchemy - Connection info needed in SQLAlchemy format

I'm trying to connect to an IBM DB2 database using SQLAlchemy connection format but it keeps failing to connect.

I am using these libraries:

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

Loading the connector:

%load_ext sql

My connection string:

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

Error message:

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([])

I am actually using this format but it just won't work.

Your connection string seems malformed: instead of ending with /bludb?security=SSL as shown in your question, try instead using the ending below:

/bludb;security=SSL;

Notice the sem-colon prefix and suffix.

Works for me with SQLAlchemy 1.3.24 and ibm_db 3.1.0 and ibm_db_sa 0.3.7. Requires that all other parts of the connection string are correct of course.

Also: both the prefix ibm_db_sa://.... and db2+ibm_db:// work for me to Db2 on Cloud (lite).

The error stated the format is username:password@hostname/dbname . You will see in yours that you added the port number So the the the change will be jqg6xxxx:r9C98t4TY81xxxxx@fbd88901-ebdb-4a4f-a32e-9822b9fb237b.c1ogj3sdxxxxxtu0lqde00.databases.appdomain.cloud/bludb?security=SSL I had the same issue recently and it worked for me.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM