0

我正在使用安装了 cx_Oracle unicode 版本的 Debian 5、Python 2.5。我尝试使用以下脚本进行连接,但它失败了

>>> connection = cx_Oracle.connect('hr/XXXXX@local_xe')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: argument 1 must be unicode, not str

我认为因为安装的 cx_Oracle 是 unicode 版本,它要求我将 unicode 指定为第一个参数。但是,它不带字符串,我不知道我还能提供什么?

4

2 回答 2

4

你应该试试

cx_Oracle.connect(u'hr/XXXXX@local_xe')

由于您拥有 cx_Oracle 的 unicode 版本,因此它期望连接字符串是 unicode sring ( argument 1 must be unicode, not str)

将字符串放在u''前面会将其转换为 unicode,因此不会引发错误。

于 2010-12-04T15:30:29.783 回答
-1

解决方案是放置以下

cx_Oracle.connect(u'hr/XXXXX@local_xe')

au 在字符串之前。不知道为什么,但这解决了我的问题。

于 2010-12-04T09:25:57.007 回答