問題タブ [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 でデータベース接続タイムアウトを設定する
データベースにアクセスする必要がある RESTful API を作成しています。Restish、Oracle、および SQLAlchemy を使用しています。ただし、Restish やその他の Web API を考慮せずに、できるだけ一般的に質問を組み立てようとします。
クエリを実行する接続のタイムアウトを設定できるようにしたいと考えています。これは、実行時間の長いクエリが破棄され、接続が破棄 (またはリサイクル) されるようにするためです。このクエリ タイムアウトはグローバル値にすることができます。つまり、クエリまたは接続の作成ごとに変更する必要はありません。
次のコードがあるとします。
上記のコードを変更して、クエリのタイムアウトを設定するにはどうすればよいですか? このタイムアウトは接続の作成にも適用されますか?
これは、java.sql.Statement の setQueryTimeout(int seconds) メソッドが Java で行うことと似ています。
ありがとう
python - cx_Oracleおよび出力変数
Oracle10データベースでこれをもう一度実行しようとしています。
しかし、私は得ています
この方法でcx_OracleでPL/SQLブロックを定義することは可能ですか?
python - UPDATEを実行するときに明示的にコミットする必要があるのはなぜですか?
これが私のコードです:
を削除してもconn.commit()
、テーブルは更新されません。しかし、selectステートメントの場合、それは必要ありませんconn.commit()
。なんで気になるの?
python - cx_oracle execute() が私の文字列を気に入らないのはなぜですか?
少し前に cx_oracle をダウンロードし、データを XML に変換するスクリプトを作成しました。OS を再インストールし、最新バージョンの cx_Oracle (5.0.3) を取得する必要がありましたが、突然コードが壊れてしまいました。
最初のことは、cx_Oracle.connect がユーザー名とパスワードに文字列ではなく Unicode を必要としていたことでした。これは非常に簡単に修正できました。しかし、今はcursor.executeで失敗し続け、type()が文字列であると私に言ったとしても、私の文字列は文字列ではないことを教えてくれます。
これは、私が何年も前に最初に使用したテストスクリプトで、古いバージョンでは問題なく動作しましたが、現在 cx_Oracle では動作しません。
それを実行すると、次のようになります。
トレースバック (最新の呼び出しが最後): ファイル "C:\NetBeansProjects\Python\src\db_temp.py"、48 行目、cursor.execute(sql) の TypeError: None または文字列を予期しています
私が間違っているかもしれないことを誰かが知っていますか?
python - cx_Oracle の使用時に列名を出力するより良い方法
cx_Oracle を使用した例が見つかりました。この例は のすべての情報を示していますCursor.description
。
私が見たかったのはCursor.description[0]
(名前)のリストだったので、コードを変更しました:
列の名前を出力するより良い方法があると思います。Python 初心者の代替手段を教えてください。:-)
python - cx_Oracle.OracleCursor の型検証
これは非常に基本的な質問かもしれません。変数の型が cx_Oracle.OracleCursor であることを検証したいので、いくつか試してみましたが、すべて失敗しました。
のタイプを検証するにはどうすればよいcursor
ですか?
追加の質問は、無効な型エラーに適した例外/エラーは何ですか?
助けてくれてありがとう!
python - cx_Oracle の Unicode SQL クエリ
私は以下を持っています:
これを行うと、次のエラーが表示されます。
クエリを非ユニコード (u なし) にすると、クエリは実行されますが、何も返されません
編集:最初のコメントへの返信:
NLS_LANGUAGE はブルガリア語です。
NLS_CHARACTERSET は CL8MSWIN1251 です
言語はパイソン...
はい、cty_name = 'София' のレコードがあります
接続は次のとおりです。
python - Pythonをインポートしようとするcx_Oracleの問題
Linux RHEL x86_64 の Apache WS で python を実行しようとしています。
Python2.5 と Apache をインストールして構成した後、Oracle Instant Client (basic と sdk) を .rpm ファイルで問題なくインストールします。
環境変数を設定しました
次に、cx_Oracle も .rpm ファイルでインストールし、問題なく再インストールします。
Pythonでcx_Oracleをインポートしようとすると、メッセージが表示されました
私は成功せずに答えを探します。ヒントはありますか?
python - cx_OracleをさまざまなバージョンのOracleクライアントにデプロイする
cx_Oracleを使用してOracleデータベースに接続する小さなPythonアプリがいくつかあります。これらのアプリは、多くの場合正常に機能するpy2exeを使用してコンパイルすることでデプロイします。
問題は、これをインストールする必要のある多くの人々に標準のOracle Clientバージョン(たとえば、9iおよび10g)がないことであり、すべての人に単一のOracleClientバージョンで標準化させようとするのは非常に苛立たしいことです。現在、9i用のcx_Oracle 4.4.1で9.2クライアントを使用しているため、py2exeを実行すると、結果のexeにはcx_Oracle 4.4.1ライブラリが含まれ、10gクライアントでは機能しません。
Oracleのどのバージョンの特定の機能も使用していないため、cx_Oracleの互換性の問題を除いて、使用されているクライアントのバージョンを気にする必要はありません。
理想的な解決策は、マシンにインストールされているOracleClientから完全に独立したバージョンを何らかの方法でコンパイルすることです。
それが不可能な場合は、Oracleのメジャーバージョン(my_app_9i.exe、my_app_10g.exeなど)ごとに個別のexeをコンパイルしますが、新しいcx_Oracleをインストールすると、古いバージョンでは、変更を加えるたびに他のバージョンをコンパイルするためにライブラリを前後に交換し続ける必要がありました。
アドバイスやその他のオプションは大歓迎です。
python - cx_Oracle を使用して、長い文字列 (>4000 バイト) の配列を Oracle (11gR2) ストアド プロシージャに渡す
cx_Oracle を使用して、多くの長い文字列 (>4000 バイト、ただし <10,000 バイト) を一括ロードする必要があります。表のデータ型は CLOB です。これらの文字列を 1 億以上ロードする必要があります。これを1つずつ行うのは面倒です。一括で行う、つまりcursor.arrayvar()を使用するのが理想的です。ただし、CLOB は配列をサポートしていません。BLOB、LOB、LONG_STRING LONG_RAW も同様です。どんな助けでも大歓迎です。