Connessione al database Oracle utilizzando cx_Oracle su Python
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?
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.