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''とユニコードに変換されるため、エラーはスローされません。

于 2010-12-04T15:30:29.783 に答える
-1

解決策は、以下を配置することでした

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

文字列の前にau。理由はわかりませんが、それで問題は解決しました。

于 2010-12-04T09:25:57.007 に答える