在Python中使用cx_Oracle连接Oracle数据库

0 投票
2 回答
2684 浏览
提问于 2025-04-16 07:59

我在使用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”。我也不太清楚为什么这样做,但对我来说,这个方法解决了问题。

撰写回答