Подключение к базе данных Oracle с помощью cx_Oracle на Python

StackOverflow https://stackoverflow.com/questions/4347261

  •  30-09-2019
  •  | 
  •  

Вопрос

Я использую 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'' перед строкой преобразует ее в юникод, и, следовательно, она не выдает ошибку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top