2

我有 test.exe(控制台应用程序/windows 应用程序)并且test.exe.config在我机器上的同一目录中。

当我打开 DOS 提示符时,我可以运行test.exe %1 %2 %3,它成功地将数据插入到 MS SQL 表中。

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 回答