gpt4 book ai didi

python - 为什么 cx_oracle execute() 现在不喜欢我的字符串?

转载 作者:搜寻专家 更新时间:2023-10-30 21:54:28 24 4
gpt4 key购买 nike

前段时间下载了cx_oracle,写了个脚本把数据转成XML。我不得不重新安装我的操作系统并获取最新版本的 cx_Oracle (5.0.3),突然间我的代码被破坏了。

第一件事是 cx_Oracle.connect 需要 unicode 而不是用户名和密码的字符串,这很容易修复。但现在它在 cursor.execute 上一直失败,并告诉我我的字符串不是字符串,即使 type() 告诉我它是一个字符串。

这是我很久以前使用的测试脚本,在我的旧版本上运行良好,但现在不适用于 cx_Oracle。

    import cx_Oracle

ip = 'url.to.oracle'
port = 1521
SID = 'mysid'
dsn_tns = cx_Oracle.makedsn(ip, port, SID)

connection = cx_Oracle.connect(u'name', u'pass', dsn_tns)
cursor = connection.cursor()
cursor.arraysize = 50

sql = "select isbn, title_code from core_isbn where rownum<=20"
print type(sql)
cursor.execute(sql)

for isbn, title_code in cursor.fetchall():
print "Values from DB:", isbn, title_code

cursor.close()
connection.close()

当我运行时,我得到:

追溯(最近一次通话): 文件“C:\NetBeansProjects\Python\src\db_temp.py”,第 48 行,位于 游标.执行(sql)类型错误:期待无或字符串

有谁知道我可能做错了什么?

最佳答案

我看到他们现在支持 python 3。可能是他们想要一个 unicode 对象而不是 str,并且他们在该错误消息中使用了 python 3 术语,即使他们可能没有出现在错误中与用户/通行证相关的消息。

关于python - 为什么 cx_oracle execute() 现在不喜欢我的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2903497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com