2

test.exe(コンソールアプリケーション/ Windowsアプリケーション)をtest.exe.config自分のマシンの同じディレクトリに置いています。

DOSプロンプトを開くと、を実行できますtest.exe %1 %2 %3。これにより、MSSQLテーブルにデータが正常に挿入されます。

test.exe.configは、以下を含むapp.configからコンパイルされます。

<connectionStrings>
<add name="Common Instance" connectionString="data source=eeeeee;Integrated Security=SSPI;Initial Catalog=YYYY;User ID=xxx;Password=xxxx" providerName="System.Data.SqlClient"/>
</connectionStrings>

しかし、このコードを含むbatファイルを実行すると:

START C:\aa\test.exe %1 %2 %3

このエラーメッセージが表示されます:

Description: The process was terminated due to an unhandled exception.
Exception Info: System.Data.SqlClient.SqlException
Stack:
   at Microsoft.Practices.EnterpriseLibrary.Data.Database.GetNewOpenConnection()

データベースにトレースを入れましたが、batファイルを実行してもヒットしません。

batファイルを実行すると、データベース接続が見つからないようです。

私は試した:

START C:\aa\test.exe %1 %2 %3 "test.exe.config"

START C:\aa\test.exe %1 %2 %3 /config:test.exe.config

START C:\aa\test.exe %1 %2 %3 /config:App.config

それらはすべて機能しません。いくつかのポインタをいただければ幸いです。

4

1 に答える 1

1

私の推測では、作業ディレクトリをバッチ ファイルに設定する必要があります。そのため、ファイルが見つかりません.config。作業ディレクトリを、アプリケーションと.configファイルが存在するフォルダーに設定します。

cd C:\aa
start test.exe %1 %2 %3
于 2013-03-07T01:57:34.263 に答える