在Python中使用cx_Oracle连接Oracle数据库
我在使用Debian 5,Python 2.5,并且安装了cx_Oracle的unicode版本。我尝试用下面的脚本连接,但连接失败了。
>>> 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作为第一个参数。但它不接受字符串,我不知道我还能提供什么其他的东西。
2 个回答
4
你可以试试这个
cx_Oracle.connect(u'hr/XXXXX@local_xe')
因为你使用的是cx_Oracle的unicode版本,所以它要求连接字符串必须是unicode格式的(也就是说,第一个参数必须是unicode,而不是str
)
在字符串前面加一个u''
,就可以把它转换成unicode格式,这样就不会出现错误了。
-1
解决办法是把下面的内容放进去:
cx_Oracle.connect(u'hr/XXXXX@local_xe')
在字符串前加一个“u”。我也不太清楚为什么这样做,但对我来说,这个方法解决了问题。