无法使用凭据(作为API或云控制台)连接到IBM_Cloud DB2数据库

无法使用凭据(作为API或云控制台)连接到IBM_Cloud DB2数据库,db2,ibm-cloud,Db2,Ibm Cloud,我无法在IBM cloud中或通过Python IBM_db API执行SQL查询。连接被拒绝 我已经注册了IBM云服务。我能够启动一个DB2实例并成功地创建了一个连接。但是,当我从云中启动控制台并尝试运行SQL查询时,连接被拒绝。如果我使用Python使用ibm_db API,也会发生同样的拒绝。尽我所能,我输入了正确的细节。然而,我注意到,自动创建的连接密码没有大写字母,并且在某处总是有+符号。顺便问一下,如何更改连接的密码 ```python import ibm_db #Replace

我无法在IBM cloud中或通过Python IBM_db API执行SQL查询。连接被拒绝

我已经注册了IBM云服务。我能够启动一个DB2实例并成功地创建了一个连接。但是,当我从云中启动控制台并尝试运行SQL查询时,连接被拒绝。如果我使用Python使用ibm_db API,也会发生同样的拒绝。尽我所能,我输入了正确的细节。然而,我注意到,自动创建的连接密码没有大写字母,并且在某处总是有+符号。顺便问一下,如何更改连接的密码

```python
import ibm_db
#Replace the placeholder values with your actual Db2 hostname, username, and password:
dsn_hostname = "somehostname" # e.g.: "dashdb-txn-sbox-yp-dal09-04.services.dal.bluemix.net"
dsn_uid = "abc12345"        # e.g. "abc12345"
dsn_pwd = "6fabcde57+ghijkl8"      # e.g. "7dBZ3wWt9XN6$o0J"

dsn_driver = "{IBM DB2 ODBC DRIVER}"
dsn_database = "BLUDB"            # e.g. "BLUDB"
dsn_port = "50000"                # e.g. "50000" 
dsn_protocol = "TCPIP"            # i.e. "TCPIP"

dsn = (
    "DRIVER={0};"
    "DATABASE={1};"
    "HOSTNAME={2};"
    "PORT={3};"
    "PROTOCOL={4};"
    "UID={5};"
    "PWD={6};").format(dsn_driver, dsn_database, dsn_hostname, dsn_port, dsn_protocol, dsn_uid, dsn_pwd)


try:
    conn = ibm_db.connect(dsn, "", "")
    print ("Connected to database: ", dsn_database, "as user: ", dsn_uid, "on host: ", dsn_hostname)

except:
    print ("Unable to connect: ", ibm_db.conn_errormsg() )
```
[IBM][CLI驱动程序]SQL30082N安全处理失败,原因24用户名和/或密码无效。SQLSTATE=08001 SQLCODE=-30082

当我试图通过DB2云控制台运行SQL查询时,也会发生类似的错误


谢谢你抽出时间

我是偶然发现的。 每次我启动Db2数据库时,它都说可能需要一些时间来进行配置。我忽略了它,因为它马上就印好了。那时,我通常直接创建一个连接并开始使用SQL查询。它不起作用

然而,上次当它工作时,我创建了一个Db2实例,然后有一两天无法登录到IBMCloud。下次我登录时,它完美地接受了SQL查询!我继续创建了一个连接,这样我就可以通过本地的Jupyter笔记本进行工作,这也起到了作用

所以我想在这种情况下,解决方案是等待,而不是继续创建和删除Db2实例,希望它能够开始工作。如果情况确实如此,IBM员工可以发表更好的评论,但目前我很高兴。
希望这对将来的人有所帮助。

我也遇到过同样的问题。最后我发现,问题出在Db2实例本身。尝试删除此实例并在IBMCloud中创建新实例。但是,要确保选择的地点是达拉斯,而不是伦敦。不要忘记创建新凭据并在代码中更新它们