Настройка Cx_Oracle

1

Я бегаю...

SQL*Plus: Release 9.2.X.X.X - Production on Wed Jun 22 13:02:14 2011

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.X.X.X - 64bit Production
With the Partitioning, OLAP and Data Mining options

с Python версии 2.7.1

Я установил 32-разрядную версию cx_Oracle для Oracle 10g, но я получаю

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    import cx_Oracle
ImportError: DLL load failed: The specified procedure could not be found.

когда я пытаюсь импортировать.

Я проверил, и моя %ORACLE_HOME% Env Variable установлена в каталог, где установлен мой клиент Oracle.

Единственная проблема, с которой я могу думать, это то, что cx_Oracle, сделанное для Oracle 10g, означает, что клиент 10g (где мой 9) вместо базы данных (моя база данных 10g)... или что модуль cx_Oracle является "32bit" ссылается на мою удаленную базу данных, являющуюся 32bit вместо моей локальной машины. Я немного поиграл с разными версиями безрезультатно.

Благодарю.

РЕДАКТИРОВАТЬ:

Кроме того, мне сказали, что Oracle 9 должен работать с некоторыми версиями cx_Oracle.. но какие? Я не могу найти такую версию. Здесь есть какие-то работы?

Редактировать:

Я обновил на instantclient 10.2 на своей локальной машине. Теперь, однако, я могу импортировать cx_Oracle просто отлично, но когда я пытаюсь сделать соединение, я получаю следующее:

Traceback (most recent call last):
  File "C:\oracleTest.py", line 2, in <module>
    connection = cx_Oracle.connect("username/password@(DESCRIPTION STRING)")
DatabaseError: ORA-12705: Cannot access NLS data files or invalid environment specified
  • 0
    так же, как подтвердить, что вы используете 32-битный Python с 32-битным клиентом cx_Oracle.
  • 0
    @Gerrat правильно
Теги:
database
cx-oracle

1 ответ

1
Лучший ответ

Ваш клиент Oracle должен соответствовать версии cx_Oracle. Любая причина использования клиента Oracle 9? Вы должны просто загрузить и установить версию 10 (или даже 11 клиентов) и сопоставить версию cx_Oracle. Они будут работать с Oracle 10g.

Мы используем Oracle 10g на работе, и я использую клиент 11g (и соответствующую версию cx_Oracle).

EDIT: Я нашел несколько старых версий cx_Oracle здесь: http://sourceforge.net/projects/cx-oracle/files/

... но вам может понадобиться более старая версия Python (2.6) для тех, которые предназначены для клиента Oracle 9.

  • 0
    Я слышал, что ранние выпуски 10 на самом деле не работают с пакетом cx_Oracle. Знаете что-нибудь об этом? Я мог бы потенциально получить более новую версию, но это потребовало бы модификации ряда систем, и я просто надеялся на другое решение.
  • 0
    @DKGasser: "выберите баннер из версии v $" ... мы работаем с 10-битной 10.2.0.4.0 и cx_Oracle прекрасно с ней работает ... у вас есть какие-либо ссылки на него, не работающие?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню