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

hc2pp10m  于 2022-11-23  发布在  DB2
关注(0)|答案(3)|浏览(188)

我无法在IBM云中或通过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驱动程序] SQL 30082 N安全处理失败,原因为“24”(“用户名和/或密码无效”)。SQLSTATE=08001 SQLCODE=-30082
当我试图通过DB2云控制台运行SQL查询时,也发生了类似的错误。
[Image describing the error from the IBM cloud DB2 SQL console](https://i.stack.imgur.com/LXYba.png)
感谢您抽出宝贵时间
qv7cva1a

qv7cva1a1#

我也遇到过同样的问题。最后我发现问题出在Db2示例本身。尝试删除此示例并在IBM Cloud中创建一个新示例。但是,请确保示例的位置选择为达拉斯(而不是伦敦)。并且不要忘记创建新凭据并在代码中更新它们。

guz6ccqo

guz6ccqo2#

我偶然发现的。每次我启动Db2数据库时,它都说可能需要一些时间来配置。我忽略了它,因为它立即打印“已配置”。当时我习惯直接创建连接并开始使用SQL查询。它不起作用。
然而,上次(当它工作时)我创建了一个Db2示例,然后有一两天不能登录到IBM Cloud。下次当我登录时,它完美地接受了SQL查询!我继续创建了一个连接,这样我就可以通过本地Jupyter笔记本工作了,这也工作了。
所以我想在这种情况下,解决方案是等待,而不是继续创建和删除Db2示例,希望它会开始工作。IBM的工作人员可以更好地评论,如果这是真的情况,但目前我很高兴。希望这有助于有人在未来。

uxhixvfz

uxhixvfz3#

我有一个类似的问题-不知道为什么IBM DB2拒绝连接:错误节点nodesjibm.js {错误:在TCP上读取ECONNRESET。onStreamRead(内部/数据流基础公用资源. js:111:27)错误号:'ECONNRESET',代码:'ECONNRESET',系统调用:'read '}尝试在指定的云示例db2上使用SSL、指定的端口(30875)和指定的用户名、密码进行连接:DB:bludb当我使用管理Postgres工具pgAdmin时出现同样的问题;尝试了多个安全凭证等,但未成功;我现在正在等待IBM支持的输入,如果找到了将发布解决方案(注解:另一方面,AWS RDS没有问题)

相关问题