Connexion à la base de données Oracle en utilisant cx_Oracle sur Python
Question
Am en utilisant Debian 5, Python 2.5 avec cx_Oracle version unicode installé. J'essaie de se connecter en utilisant le script, mais en dessous de son défaut
>>> 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
Je pense que parce que le cx_Oracle installé est une version unicode, sa me demandant de spécifier le unicode comme premier paramètre. mais sa ne pas prendre les cordes et je ne sais pas ce que je pourrais fournir d'autre?
La solution 2
la solution est de placer les éléments suivants
cx_Oracle.connect(u'hr/XXXXX@local_xe')
a u avant la chaîne. Je ne sais pas pourquoi, mais qui a résolu le problème pour moi.
Autres conseils
Vous devriez essayer
cx_Oracle.connect(u'hr/XXXXX@local_xe')
Puisque vous avez la version unicode de cx_Oracle, il attend la chaîne de connexion à un sring unicode (argument 1 must be unicode, not str
)
Mettre un infront u''
d'une chaîne convertit en unicode, et par conséquent, il ne jette pas l'erreur.