Domanda

sto usando Debian 5, Python 2.5 con la versione unicode cx_Oracle installato. Provo a collegarlo con il sotto lo script, ma la sua mancanza di

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

Credo perché il cx_Oracle installato è una versione Unicode, la sua mi chiede di specificare l'unicode come primo parametro. ma, il suo non prendere le stringhe e non so cosa avrei potuto fornire altro?

È stato utile?

Soluzione 2

la soluzione era quella di inserire la seguente

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

un u prima della stringa. Non so perché, ma che risolto il problema per me.

Altri suggerimenti

Si dovrebbe cercare

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

Dal momento che hai la versione Unicode di cx_Oracle, si aspetta la stringa di connessione per essere uno sring unicode (argument 1 must be unicode, not str)

Mettere un fronte u'' di una stringa converte in unicode, e, quindi, non gettare l'errore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top