私はPython 2.7を実行していますが、Linuxの64ビットOSではcx_Oracleを使用しています。どのクライアントがデプロイされたターゲットにインストールされるかわからないので、11.2または12.1のOracleクライアントに対して実行できる必要があります。私はcx_Oracleが各Oracleクライアントに対して構築されていることを知っています。どのようにアプリが動作することを確認できますか?私はpyinstallerを使用してアプリケーションをパッケージングしていることを言及する必要があります。両方のOracleクライアントに対して構築されたcx_Oracleのバージョンがありますか?つまり、2つの異なるバージョンのアプリケーションを必要としていますか... 11g用と12cクライアント用のどちらですか?複数のOracleクライアント・バージョンを持つcx_Oracle
1
A
答えて
1
理論上、Oracle 11gバージョンのcx_Oracleを構築し、Oracle 11gとOracle 12cクライアントの両方で使用できるはずですが、推奨しません。最も簡単なOracle 12cインスタント・クライアントを使用するようにユーザーを説得できる場合は、そのクライアントは、11gと12cの両方のデータベースに問題なくアクセスできます。
1)11gと12cの両方についてcx_Oracleをコンパイルし、両方のコピーをcx_Oracle_11g.soとcx_Oracle_12c.soという名前のインストールに配置します。
2)輸入cx_Oracleは、動的に次のようなコードを使用して:あなたは以前と同じ方法でそれを必要な場所
for version in ("11g", "12c"):
fileName = os.path.join(installDir, "cx_Oracle_%s.so" % version)
try:
module = imp.load_dynamic("cx_Oracle", fileName)
break
except ImportError:
pass
3)は、動的にインポートされたモジュールを使用してください。動的にロードされたモジュールはcx_Oracleという名前が付けられているので、他のコードで通常の方法でインポートすることができ、動的にロードされたモジュールが見つかるはずです。
4)Oracleクライアント11.2,12.1および12.2を同時にサポートするcx_Oracle 6.xを使用します。
関連する問題
- 1. 複数のレコードを持つOracleクエリ
- 2. 複数の結合を持つOracle ROWNUM
- 3. 複数のテーブルを持つOracleクエリ
- 4. cx_oracleとoracle 7?
- 5. 複数の接続を持つSignalRクライアント
- 6. С++ - 複数のクライアントを持つUDPサーバ
- 7. 複数のクライアントを持つRuby UDPサーバー?
- 8. PHP SOAP - 複数のネームスペースを持つクライアント
- 9. CLXを持つcx_Oracle executemany
- 10. cx_Oracle +のOracleインスタンスクライアント11gは
- 11. pyinstallerを使用して複数のOracleクライアント・バージョンを使用するcx_oracleアプリを構築するにはどうすればよいですか?
- 12. 複数のセッションを持つOracleパッケージのグローバル変数
- 13. 複数のサブクエリを持つOracle 11g LISTAGG関数
- 14. 1つの基本コードと複数のバージョンを持つJavaプログラミング
- 15. 2つの異なるバージョンのジャージーサーバーを持つJavaクライアント
- 16. ORACLE - 異なる複数のCOLUMNSを持つROWNUMを選択
- 17. Oracleクライアント:プロバイダがOracleクライアントのバージョンと互換性がありません
- 18. c(TCP)の単一サーバープログラムを持つ複数のクライアント
- 19. 複数のクエリを持つ1つのクライアントのFirebase同時接続数
- 20. MacOSで複数のPythonバージョンを持つPATHを設定する
- 21. 複数のPythonバージョンを持つVirtualenvモジュールのインストール
- 22. 複数のクライアントを持つサーバー - select()で書く
- 23. 複数のクライアントを持つOpenID共有IDトークン
- 24. Pythonリストoracleをwhere cx_Oracle節に渡す
- 25. PythonでOracle Prepared StatementのIN句cx_Oracle
- 26. Django cx_Oracle connection.cursor()。oracleカーソル・データ型の説明
- 27. Jboss 6:データソースと同じ耳の複数バージョンを持つ方法
- 28. アナコンダとトラビスを持つ複数のpythonバージョン
- 29. Git - 複数のバージョンを維持する
- 30. Python 3.6、64ビット版の11gクライアント用cx_oracle