問題タブ [cx-oracle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
831 参照

python - 外部ライブラリのPythonインスタンスメソッドをオーバーライドする

データベース接続用のコンテキストマネージャーを作成しました。外部クラス(cx_oracle.Cursorの「execute」)のメソッドをオーバーライドして、クエリをデータベースに渡す前に無関係なバインド変数を削除したいと思います(そうでない場合は、DatabaseErrorが発生します)。そもそもなぜそこにいるのかという問題は直交しています。

以下は機能しますが、ここで_ getattribute _を正しく使用しているかどうか疑問に思っています(これまで実際に使用する言い訳はありませんでした)。

私は「すべての耳」でもあります...目...この外部ライブラリからこのメソッドをオーバーライドする方法について誰かがより良い提案を持っている場合。

ありがとう。私はPython2.7を使用しています

0 投票する
2 に答える
774 参照

python - cx_Oracle と sqlplus が同じ選択クエリに対して異なる結果を返す理由

Python と cx_Oracle を使用して、テーブルに行を挿入しようとしています。

入力ファイルからすべての行を挿入した後、cx_Oracle で選択クエリを使用して、挿入された行を確認できます。ただし、「select * from table;」と入力すると、sqlplus は結果を返しません。cx_Oracle について私が見逃したものはありますか、それとも、リモート db に接続されているときに sqlplus で古い結果を示す Oracle クライアントにバッファがありますか?

0 投票する
1 に答える
940 参照

python - Python スクリプトが win32 サービスとして開始されると、cx_oracle のインポートが失敗する

をサブクラス化することにより、Windows サービスとして実行する必要がある Python スクリプトを作成しましたwin32serviceutil.ServiceFramework。スクリプト内でcx_oracleモジュールが使用されます。

サービスをデバッグ モード ( python DLOGprod.py debug) で実行すると、すべて正常に動作します。しかし、サービス ( python DLOGprod.py start) を開始しようとすると、モジュールのインポートはcx_oracle次のエラーで失敗します。

import cx_Oracle ImportError: DLL のロードに失敗しました: 指定されたモジュールが見つかりませんでした。

依存関係ウォーカーを含むファイルを確認したところ、cx_oracle.pyd2 つの欠落している dll ファイルMSVCR90.DLLIESHIMS.DLL.

私は次の設定をしています:

  • パイソン2.6.6
  • pywin32-214
  • cx_oracle_5.0.4-11g

どんな助けでも大歓迎です

マーク

0 投票する
1 に答える
1921 参照

python - cx_oracleカーソルからタイムゾーン対応の日時オブジェクトを取得する正しい方法は何ですか?

cx_oracle はまたはタイプdatetimeの列のイ​​ンスタンスを返しますが、これらの datetime インスタンスはタイムゾーンに対応していません。TIMESTAMPTIMESTAMP WITH TIME ZONE

例えば:

ご覧のとおり、MYCOL はタイムゾーン対応の TIMESTAMP です。以下は、tzinfo データを含む Python の datetime オブジェクトを返すと思います。でも:

その日時オブジェクトはタイムゾーンに対応していないため、アプリケーションでこの日付を信頼して使用することはできません。

この列をタイムゾーン対応の日時オブジェクトとして取得する最善の方法は何ですか?

0 投票する
3 に答える
16910 参照

python - RHEL に Python 用の cx_Oracle をどのようにインストールしますか?

古いバージョンの Python にとらわれたくないので、Active Python を使用しています。インスタント クライアントをインストールし、エクスポートを bash プロファイルに追加しましたが、次の不可解なエラーが発生します。

0 投票する
1 に答える
3712 参照

python - Cx_Oracle のセットアップ

私は走っています...

Python バージョン 2.7.1 を使用

Oracle 10g に cx_Oracle の 32 ビット バージョンをインストールしましたが、

インポートしようとすると。

確認し%ORACLE_HOME%たところ、Env 変数は Oracle クライアントがインストールされているディレクトリに設定されています。

私が考えることができる唯一の問題は、Oracle 10g 用に作成された cx_Oracle が、データベース (私のデータベースは 10g) ではなく、クライアントが 10g (私のデータベースは 9) であることを参照していることです... または cx_Oracle モジュールが「32 ビット」とは、ローカル マシンではなくリモート データベースが 32 ビットであることを指しています。さまざまなバージョンで少し遊んでみましたが、役に立ちませんでした。

ありがとう。

編集:

また、Oracle 9 はいくつかのバージョンの cx_Oracle で動作するはずだと言われましたが、どのバージョンですか? 利用可能なそのようなバージョンが見つかりません。ここで回避策はありますか?

編集:

ローカル マシンで InstantClient 10.2 に更新しました。ただし、cx_Oracle を問題なくインポートできるようになりましたが、接続しようとすると次のようになります。

0 投票する
2 に答える
734 参照

reflection - SQL Alchemy と CX_Oracle リフレクションの問題

cx_Oracle バージョン 5.1 (autoload=True) を使用して Oracle にテーブルを反映する際に問題が発生しています。cx_Oracle バージョン 5.0.4 ではすべて正常に動作します。エラーは次のとおりです。

どういうわけか、オラクルに送信されたクエリは、テーブル名とスキーマを正しく置き換えていません。誰かがこのようなものを見て、解決策を持っていますか? すべてのテーブルに対して列を手動で定義することは避けたいと思います。できれば最新版も使いたいです。

0 投票する
1 に答える
3478 参照

python - CLOB を使用した cx_Oracle executemany

複数の CSV を解析し、cx_Oracle を使用してそれらのデータをテーブルに挿入しようとしています。execute を使用してテーブルに挿入するのに問題はありませんが、executemany で同じ手順を試みるとエラーが発生します。動作するexecuteを使用する私のコードは

しかし、それを置き換えると

データが 4000 バイトを超える CLOB 列を持つテーブルに挿入しようとすると、「ValueError: string data too large」というメッセージが表示されます。Executemany は、テーブルに CLOB 列がない場合にうまく機能します。executemany を実行するときに、適切な列を CLOB として扱うように cx_Oracle に指示する方法はありますか?

0 投票する
2 に答える
8136 参照

python - Cursor Out パラメータを渡す Python-Oracle

Python と Oracle データベースの間でストアド プロシージャを呼び出そうとしています。私が抱えている問題は、カーソルの出力パラメーターを渡すことです。

Oracle ストアド プロシージャは基本的に次のとおりです。

データベースを呼び出す Python コードは次のとおりです。

エラーは次のとおりです。

また、keywordsParameters として辞書を渡そうとしました。

同じエラーを返します。

ありがとう。