我的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
他们都不行。我很欣赏一些指示。
答案 0 :(得分:1)
我的猜测是需要在批处理文件中设置工作目录。这就是它无法找到.config
文件的原因。将工作目录设置为应用程序和.config
文件所在的文件夹。
cd C:\aa
start test.exe %1 %2 %3