Подключение к базе данных Oracle с помощью cx_Oracle на Python
Вопрос
Я использую Debian 5, Python 2.5 с установленной версией cx_Oracle в юникоде.Я пытаюсь подключиться, используя приведенный ниже скрипт, но он не работает
>>> 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
Я думаю, поскольку установленный cx_Oracle является версией unicode, он просит меня указать unicode в качестве первого параметра.но это не требует никаких усилий, и я не знаю, что я мог бы предложить еще?
Решение 2
решение состояло в том, чтобы разместить следующее
cx_Oracle.connect(u'hr/XXXXX@local_xe')
буква "у" перед строкой.Не знаю почему, но это решило проблему для меня.
Другие советы
Ты должен попробовать
cx_Oracle.connect(u'hr/XXXXX@local_xe')
Поскольку у вас версия cx_Oracle в юникоде, ожидается, что строка подключения будет sring в юникоде (argument 1 must be unicode, not str
)
Помещая u''
перед строкой преобразует ее в юникод, и, следовательно, она не выдает ошибку.