Herstellen einer Verbindung mit Oracle-Datenbank mit cx_Oracle auf Python
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?
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.