Как заставить Django работать с удаленной базой данных Oracle в Ubuntu - PullRequest
2 голосов
/ 16 ноября 2010

Я не могу понять, как установить адаптеры Oracle / Python, чтобы это работало.Всякий раз, когда я пытаюсь установить cx_Oracle, я получаю следующую ошибку:

python setup.py install                                                                                              ~VIRTUAL_ENV/build/cx-oracle
running install
running bdist_egg
running egg_info
creating cx_Oracle.egg-info
writing cx_Oracle.egg-info/PKG-INFO
writing top-level names to cx_Oracle.egg-info/top_level.txt
writing dependency_links to cx_Oracle.egg-info/dependency_links.txt
writing cx_Oracle.egg-info/PKG-INFO
writing top-level names to cx_Oracle.egg-info/top_level.txt
writing dependency_links to cx_Oracle.egg-info/dependency_links.txt
writing manifest file 'cx_Oracle.egg-info/SOURCES.txt'
reading manifest file 'cx_Oracle.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'cx_Oracle.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_ext
building 'cx_Oracle' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/demo -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public -I/usr/include/python2.6 -c cx_Oracle.c -o build/temp.linux-x86_64-2.6-10g/cx_Oracle.o -DBUILD_VERSION=5.0.4
In file included from /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/oci.h:2655,
                 from cx_Oracle.c:10:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/oci1.h:148: warning: function declaration isn’t a prototype
In file included from /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/ociap.h:222,
                 from /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/oci.h:2679,
                 from cx_Oracle.c:10:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/nzt.h:676: warning: function declaration isn’t a prototype
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/nzt.h:2667: warning: function declaration isn’t a prototype
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/nzt.h:2676: warning: function declaration isn’t a prototype
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/nzt.h:2686: warning: function declaration isn’t a prototype
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/nzt.h:2695: warning: function declaration isn’t a prototype
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/nzt.h:2704: warning: function declaration isn’t a prototype
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/nzt.h:2713: warning: function declaration isn’t a prototype
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/nzt.h:2721: warning: function declaration isn’t a prototype
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/nzt.h:2731: warning: function declaration isn’t a prototype
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/nzt.h:2738: warning: function declaration isn’t a prototype
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/nzt.h:2746: warning: function declaration isn’t a prototype
In file included from /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/oci.h:2679,
                 from cx_Oracle.c:10:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/ociap.h:10069: warning: function declaration isn’t a prototype
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public/ociap.h:10075: warning: function declaration isn’t a prototype
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions build/temp.linux-x86_64-2.6-10g/cx_Oracle.o -L/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib -L/usr/lib/oracle/xe/app/oracle/product/10.2.0/server -lclntsh -o build/lib.linux-x86_64-2.6-10g/cx_Oracle.so
/usr/bin/ld: skipping incompatible /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libclntsh.so when searching for -lclntsh
/usr/bin/ld: cannot find -lclntsh
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

Вот переменные в моем файле .bashrc:

# Export Oracle Values
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
PATH=$PATH:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_HOME
export ORACLE_SID=XE
export PATH
export LD_LIBRARY_PATH

Я все равно хочу подключиться к удаленной базе данных Oracle,Нет необходимости устанавливать его на мою локальную машину.Это возможно?И если да, то как мне это сделать?

1 Ответ

2 голосов
/ 16 ноября 2010

Вам нужно добавить $ ORACLE_HOME / lib к вашему LD_LIBRARY_PATH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...