sql >> データベース >  >> RDS >> Oracle

cx_OracleをさまざまなバージョンのOracleクライアントにデプロイする

    複数のcx_Oracleバージョン(例:cx_Oracle10g、cx_Oracle11gなど)をビルドする場合は、cx_Oraclesetup.pyスクリプトを変更する必要があります。スクリプトの最後のステップは、setup()の呼び出しです。;最初のパラメーターは、ビルドするモジュールの名前です。 "cx_Oracle"を変更するだけです。 "cx_Oracle" + verへ 、ここでverは10g11g 、など。いくつかのスクリプトを作成してハードコーディングするか、setup.pyに別のパラメータを追加します。 動的に選択します。

    もちろん、それを取得したら、実行時に正しいモジュールをロードするメカニズムが必要です。そのためには、独自のcx_Oracleを作成する必要があります。 __init__.pyを持つモジュール 次のようなファイル:

    try:
      from cx_Oracle9g import *
    except ImportError:
      try:
        from cx_Oracle10g import *
      except ImportError:
        try:
          from cx_Oracle11g import *
    

    あなたがする必要があるのはあなたのカスタムcx_Oracleを出荷することだけです モジュールと正しいcx_OracleXg アプリケーションのモジュール。

    または、カスタムのcx_Oracleを使用することもできます。 モジュールは、使用可能な各Oracleクライアントライブラリ(9g、10g、11gなど)を動的にチェックしてから、一致する正しいcx_OracleXgのみをインポートします。 モジュール。この場合、カスタムのcx_Oracleを含む単一のバイナリを出荷するだけで済みます。 モジュールとすべてのcx_OracleXg モジュール。




    1. SQLクエリからアプリケーションコードへのバックトレース?

    2. LEFT OUTER JOINを使用して、関連する行が存在しないことを確認するための最良の方法は何ですか

    3. SQLServer2000で@TABLEEXEC@queryに挿入

    4. トリガーを通過する文字が変化するコンマを使用してデータを保存するにはどうすればよいですか?