問題タブ [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.
python - 外部ライブラリのPythonインスタンスメソッドをオーバーライドする
データベース接続用のコンテキストマネージャーを作成しました。外部クラス(cx_oracle.Cursorの「execute」)のメソッドをオーバーライドして、クエリをデータベースに渡す前に無関係なバインド変数を削除したいと思います(そうでない場合は、DatabaseErrorが発生します)。そもそもなぜそこにいるのかという問題は直交しています。
以下は機能しますが、ここで_ getattribute _を正しく使用しているかどうか疑問に思っています(これまで実際に使用する言い訳はありませんでした)。
私は「すべての耳」でもあります...目...この外部ライブラリからこのメソッドをオーバーライドする方法について誰かがより良い提案を持っている場合。
ありがとう。私はPython2.7を使用しています
python - cx_Oracle と sqlplus が同じ選択クエリに対して異なる結果を返す理由
Python と cx_Oracle を使用して、テーブルに行を挿入しようとしています。
入力ファイルからすべての行を挿入した後、cx_Oracle で選択クエリを使用して、挿入された行を確認できます。ただし、「select * from table;」と入力すると、sqlplus は結果を返しません。cx_Oracle について私が見逃したものはありますか、それとも、リモート db に接続されているときに sqlplus で古い結果を示す Oracle クライアントにバッファがありますか?
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.pyd
2 つの欠落している dll ファイルMSVCR90.DLL
とIESHIMS.DLL
.
私は次の設定をしています:
- パイソン2.6.6
- pywin32-214
- cx_oracle_5.0.4-11g
どんな助けでも大歓迎です
マーク
python - cx_oracleカーソルからタイムゾーン対応の日時オブジェクトを取得する正しい方法は何ですか?
cx_oracle はまたはタイプdatetime
の列のインスタンスを返しますが、これらの datetime インスタンスはタイムゾーンに対応していません。TIMESTAMP
TIMESTAMP WITH TIME ZONE
例えば:
ご覧のとおり、MYCOL はタイムゾーン対応の TIMESTAMP です。以下は、tzinfo データを含む Python の datetime オブジェクトを返すと思います。でも:
その日時オブジェクトはタイムゾーンに対応していないため、アプリケーションでこの日付を信頼して使用することはできません。
この列をタイムゾーン対応の日時オブジェクトとして取得する最善の方法は何ですか?
python - RHEL に Python 用の cx_Oracle をどのようにインストールしますか?
古いバージョンの Python にとらわれたくないので、Active Python を使用しています。インスタント クライアントをインストールし、エクスポートを bash プロファイルに追加しましたが、次の不可解なエラーが発生します。
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 を問題なくインポートできるようになりましたが、接続しようとすると次のようになります。
reflection - SQL Alchemy と CX_Oracle リフレクションの問題
cx_Oracle バージョン 5.1 (autoload=True) を使用して Oracle にテーブルを反映する際に問題が発生しています。cx_Oracle バージョン 5.0.4 ではすべて正常に動作します。エラーは次のとおりです。
どういうわけか、オラクルに送信されたクエリは、テーブル名とスキーマを正しく置き換えていません。誰かがこのようなものを見て、解決策を持っていますか? すべてのテーブルに対して列を手動で定義することは避けたいと思います。できれば最新版も使いたいです。
python - CLOB を使用した cx_Oracle executemany
複数の CSV を解析し、cx_Oracle を使用してそれらのデータをテーブルに挿入しようとしています。execute を使用してテーブルに挿入するのに問題はありませんが、executemany で同じ手順を試みるとエラーが発生します。動作するexecuteを使用する私のコードは
しかし、それを置き換えると
データが 4000 バイトを超える CLOB 列を持つテーブルに挿入しようとすると、「ValueError: string data too large」というメッセージが表示されます。Executemany は、テーブルに CLOB 列がない場合にうまく機能します。executemany を実行するときに、適切な列を CLOB として扱うように cx_Oracle に指示する方法はありますか?
python - Cursor Out パラメータを渡す Python-Oracle
Python と Oracle データベースの間でストアド プロシージャを呼び出そうとしています。私が抱えている問題は、カーソルの出力パラメーターを渡すことです。
Oracle ストアド プロシージャは基本的に次のとおりです。
データベースを呼び出す Python コードは次のとおりです。
エラーは次のとおりです。
また、keywordsParameters として辞書を渡そうとしました。
同じエラーを返します。
ありがとう。