python cx oracle ожидает строку, юникод или буферный объект

Я пытаюсь запустить следующий фрагмент кода в python для подключения к oracle, но постоянно сталкивается с следующей ошибкой. Я пробовал много комбинаций, но, похоже, он не работает. Я понимаю ошибку, но не понимаю, что здесь несовместимо. Кто-нибудь сталкивался с этой проблемой? Как это исправить?

Файл «", строка 1, в файле «/ workplace/applications/python2.7/lib/python2.7/site-packages/sqlalchemy/engine/base.py», строка 1613, в исполнении

connection = self.contextual_connect(close_with_result=True) File "/workplace/applications/python2.7/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1661, in contextual_connect self.pool.connect(), File "/workplace/applications/python2.7/lib/python2.7/site-packages/sqlalchemy/pool.py", line 326, in connect return _ConnectionFairy(self).checkout() File "/workplace/applications/python2.7/lib/python2.7/site-packages/sqlalchemy/pool.py", line 485, in __init__ rec = self._connection_record = pool._do_get() File "/workplace/applications/python2.7/lib/python2.7/site-packages/sqlalchemy/pool.py", line 770, in _do_get return self._create_connection() File "/workplace/applications/python2.7/lib/python2.7/site-packages/sqlalchemy/pool.py", line 279, in _create_connection return _ConnectionRecord(self) File "/workplace/applications/python2.7/lib/python2.7/site-packages/sqlalchemy/pool.py", line 372, in __init__ self.connection = self.__connect() File "/workplace/applications/python2.7/lib/python2.7/site-packages/sqlalchemy/pool.py", line 433, in __connect connection = self.__pool._creator() File "/workplace/applications/python2.7/lib/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 80, in connect return dialect.connect(*cargs, **cparams) File "/workplace/applications/python2.7/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 283, in connect return self.dbapi.connect(*cargs, **cparams) TypeError: expecting string, unicode or buffer object from sqlalchemy.ext.declarative import declarative_base; from sqlalchemy import create_engine; engine = create_engine(u'oracle+cx_oracle://localhost:1521/orcl', echo=True) result = engine.execute(u"select 1 from dual"); 

Настроить:

Python 2.7
SqlAlchemy 0.9.7 и 0.8.7
Cx Oracle (последняя версия)
Oracle Database 10g Release 10.2.0.2.0

One Solution collect form web for “python cx oracle ожидает строку, юникод или буферный объект”

Если вы столкнулись с этой проблемой, скорее всего, причина в том, что вы не передаете аргументы, требуемые базовым вызовом dbapi.

В моем случае я добавил дополнительные аргументы пользователя, пароля и dsn к вызову create_engine вместе с существующими, которые были переданы в вызов cx_oracle, и это сработало.

что-то вроде этого должно работать

 create_engine(u'oracle+cx_oracle://localhost:1521/orcl', echo=True, user='<>', password='<>', dsn='<>') 
Interesting Posts

Самый эффективный метод получения ключа для значения в dict

Относительный shebang: как написать исполняемый скрипт, на котором запущен переносимый интерпретатор

рекурсивно пересекают многомерный словарь, неизвестно неизвестное

Как сделать тайм-аут subprocess.call с помощью python 2.7.6?

input () блокирует использование процессов

Чтение больших текстовых файлов с помощью Pandas

Невозможно найти информацию о методе read () Python (python 2.7)

Каков самый простой кросс-платформенный способ отображения графических диалогов в Python?

Pandas resample группами с повторяющимися датами

Как очистить поля формы после отправки в Django

Построение замаскированного участка поверхности с использованием python, numpy и matplotlib

Ошибка памяти python get_dummies

pcap python library?

Python удаляет элемент из случайного списка, после его выбора

Когда или почему использовать относительный импорт в Python

Python - лучший язык программирования в мире.