Frage

Am mit Debian 5, Python 2.5 mit cx_Oracle Unicode-Version installiert ist. Ich versuche, mit Hilfe der unten Skript zu verbinden, aber seine Fehler

>>> 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

ich glaube, da die installierte cx_Oracle eine Unicode-Version ist, seine mich zu fragen, die Unicode als ersten Parameter angeben. aber, es ist nicht Saiten nehmen, und ich weiß nicht, was ich liefern sonst könnte?

War es hilfreich?

Lösung 2

Die Lösung war die folgende stellen

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

a u vor der Zeichenfolge. Nicht sicher, warum, aber das löste das Problem für mich.

Andere Tipps

Sie sollten versuchen,

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

Da Sie die Unicode-Version von cx_Oracle haben, es erwartet, dass die Verbindungszeichenfolge ein Unicode sring (argument 1 must be unicode, not str) sein

Setzen eines u'' infront einer Zeichenfolge konvertiert es in Unicode, und daher ist es nicht den Fehler werfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top