0

私は使用していますOracle Database 10g xe universal Rel.10.2.0.1.0 against cx_Oracle-5.0.4-10g-unicode-py26-1.x86_64 on a django project on Ubuntu 10.04

私のデータベースはOracle 10gr2 enterprise edition(Windows XPでは、インポートはで行われUS7ASCII character set and AL16UTF16 NCHAR character set、インポートサーバーは使用しAL32UTF8 character set、エクスポートクライアントは使用しますEL8MSWIN1253 character set)によって生成されます

試してみるdjango-admin.py inspectdbと、次のエラーが表示されます。

......."indexes = connection.introspection.get_indexes(cursor, table_name) File "/usr/lib/pymodules/python2.6/django/db/backends/oracle/introspection.py", 116 行目cursor.fetchall() の行の get_indexes: ファイル "/usr/lib/pymodules/python2.6/django/db/backends/oracle/base.py"、483 行目、self.cursor.fetchall() の r の fetchall で)]) cx_Oracle.DatabaseError: OCI-22061: 無効な書式テキスト [T".

私は知って"inspectdb works with PostgreSQL, MySQL and SQLite"いますが、他の投稿から理解しているように、Oracleでも何らかの形で機能します。

このエラーが発生する理由や修正方法を知っている人はいますか?

4

2 に答える 2

0

cx_Oracle 5.1.1パッケージを更新して試してから、これを試してください:

python manage.py inspectdb --database dbname
于 2012-05-08T11:56:39.067 に答える
0

cx_Oracle-5.1.2 をダウンロードし、以下のコマンドを使用して問題を修正できます。

$ wget -c http://prdownloads.sourceforge.net/cx-oracle/cx_Oracle-5.1.2-11g-py27-1.x86_64.rpm

rpmをインストールするコマンド

$ sudo yum install cx_Oracle-5.0.4-11g-unicode-py27-1.x86_64.rpm

また、Oracle インスタントクライアントhttp://download.oracle.com/otn/linux/instantclient/11101/basic-11.1.0.6.0-linux-x86_64.zipおよびhttp://download.oracle.com/otn/linux/をダウンロードします。インスタントクライアント/11101/sdk-11.1.0.6.0-linux-x86_64.zip

上記でダウンロードしたzipファイルを解凍します。sdk-11.1.0.6.0-linux-x86_64からインクルードフォルダーをコピーし、 basic-11.1.0.6.0-linux-x86_64に貼り付けます。.bashrcファイル に以下のパスを設定します。

export $LD_LIBRARY_PATH = $LD_LIBRARY_PATH:/oracle_lib/oracle_instantclient_11_1

export $ORACLE_HOME = /oracle_lib/oracle_instantclient_11_1

$ ls /oracle_lib/oracle_instantclient_11_1

ファイルのリストを含むインクルードフォルダーを見つける必要があります

次に、$ source ~/.bashrcを使用して .bashrc ファイルを実行します。

私はそれをテストしました。

于 2016-01-07T07:53:20.947 に答える