好的,所以我有一个可执行文件启动我的批处理文件,然后批处理文件应该为我的SQL服务器创建一个ODBC数据源。如果我自己运行批处理文件,它运行完美并创建数据源,但是当我通过我的exe运行它运行时,不会返回错误但不会创建数据源。
我的整个exe代码是
#include <windows.h>
#include <iostream>
#include <dos.h>
#include <conio.h>
using namespace std;
int main ( int argc, char *argv[] )
{
cout << system("find2.bat");
system("PAUSE");
return 0;
}
我的批处理命令是
ODBCCONF.exe CONFIGSYSDSN "SQL Server" "DSN=test_DSN | Description=test Data Source | SERVER=(local) | Trusted_Connection=Yes"
我还试图从批处理文件输出任何错误,但它只是创建了一个空白文本文件,所以我猜没有错误。 那么有没有人有任何想法可能导致这个?
答案 0 :(得分:2)
您确定批处理文件正在运行吗?既然你没有建立一条绝对的路径,我猜它就没有找到。
答案 1 :(得分:0)
您需要根据此修改呼叫:
system("cmd /c C:\\path\\to\\find2.bat");