2010-12-03 92 views
0

我正在使用安装了cx_Oracle unicode版本的Debian 5,Python 2.5。我尝试使用下面的脚本,但它未能使用Python上的cx_Oracle连接到Oracle数据库

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

我想是因为安装cx_Oracle是一个Unicode版本进行连接,它要求我指定Unicode作为第一个参数。但是,它不采取字符串,我不知道我可以提供其他什么?

+1

尝试`cx_Oracle.connect(u'hr/XXXXX @ local_xe')`? – Sathya 2010-12-03 15:57:56

回答

-1

的解决方案是字符串前放置以下

cx_Oracle.connect(u'hr/[email protected]_xe') 

U形。不知道为什么,但这解决了我的问题。

4

你应该尝试

cx_Oracle.connect(u'hr/[email protected]_xe') 

既然你cx_Oracle的Unicode版本,它期望的连接字符串是Unicode SRING(argument 1 must be unicode, not str

把一个u''盈串的把它转换成unicode,因此它不会抛出错误。