1

だからここに問題があります。私が持っているこのアプリケーションはODACコンポーネントを使用していますが、アプリケーションをインストールする必要のあるすべてのコンピューターにOracleクライアントをインストールする必要はありません。だから私は以下のこの記事を休耕しました:

Oracleクライアント11で.NETアプリケーションをデプロイするために必要な最小限のセットアップは何ですか?

この記事は、ある種のoracleがインストールされているか、少なくともtnsnames.oraが正しい場所にあるコンピューターでうまく機能します。ただし、新しいマシンでは、エラーORA-12645:パラメータが存在しません。tnsnames.oraをsqlnet.oraと一緒にパッケージ化しようとしましたが、.dllでそれらを見つけることができません。以下のコードは、エラーの原因です。

 g_Db.ConnectionString = "Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=osw-rmoradev)(PORT=1523))) (CONNECT_DATA=(SERVER=DEDICATED)(SID=RML3A))); User Id=RM_Level3;Password="passowrd";"
            g_Db.Open()

.oraファイルをパッケージ化する方法に関するアイデアは役に立ちます。

4

2 に答える 2

1

クライアントをインストールする代わりに、Oracle DataProviderを使用してみましたか?このプロジェクトに出くわした後、Oracleクライアントをインストールする必要がなかったことを覚えています。 ODPへのリンク

于 2012-07-26T19:17:08.497 に答える
0

プログラムインスタンスの環境変数を.oraデータファイルの場所に設定することで、問題が修正されたようです。

nvironment.SetEnvironmentVariable("PATH", "c:\Documents and Settings\" & currentUserName & "\Local Settings\Apps\2.0;" + "c:\Documents and Settings\" & currentUserName & "\Local Settings\Apps\2.0\Data\\R5MG416O.62T\77DKVOW4.TWH\rct...tion_7a1a328dbe52217b_0002.0000_f2dbb34fd1c05e8d\Data;", EnvironmentVariableTarget.Process)
                    Environment.SetEnvironmentVariable("ORACLE_HOME", "c:\Documents and Settings\" & currentUserName & "\Local Settings\Apps\2.0", EnvironmentVariableTarget.Process)
于 2012-07-27T13:44:08.887 に答える