私はこれを長い間探していました.Oracleデータベースに接続する必要があるC#を使用してWindowsフォームアプリを開発しました.このアプリは、Windows XPおよびWindows 7を使用する多くのPCで使用されます.長い研究の結果、 Oracle アクセスに OBP.net を使用しますが、すべての PC に Oracle クライアントをインストールできないという問題があります。
OCI Instant Client Data Shared Library
oraociicus10.dll (Basic-Lite version)
oraociei10.dll (Basic version)
Client Code Library
oci.dll
Security Library
orannzsbb10.dll
OCCI Library
oraocci10.dll
しかし、アプリをリリースすると、Oracle データベースに接続されません。Oracle クライアントがインストールされていない PC で Windows フォーム アプリを Oracle データベースに接続する方法を教えてください。
編集:
DataTable dt = new DataTable();
OracleConnection Oracle_connection = new OracleConnection();
Oracle_connection.ConnectionString = con;
Oracle_connection.Open();
デバッグモードで接続タイムアウトがOracle_connection.Open();
発生し、接続文字列が次のようになっているため、TNSNAMES.ORAを使用しません
Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.2.54)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = PRD))) ;User Id=catering;Password=catering;"`
Windows 7 PC で動作するコードを公開しようとしましたが、Windows XP では動作しませんでした
System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> Oracle.DataAccess.Client.OracleException The provider is not compatible with the version of Oracle client at Oracle.DataAccess.Client.OracleInit.Initialize()
それがWindowsに関連しているか、いくつかのDLLが見つからないかはわかりません