正在使用Debian 5,使用CX_ORACLE UNICODE版本的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指定为第一个参数。但是,它不拿起弦,我不知道我能提供什么吗?

有帮助吗?

解决方案 2

解决方案是放置以下内容

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

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

其他提示

你应该试试

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

由于您具有cx_oracle的Unicode版本,因此它希望连接字符串是Unicode Sring(argument 1 must be unicode, not str)

放一个 u'' 字符串的前面将其转换为Unicode,因此不会丢弃错误。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top