我有一個C++ dll,它具有連接到遠程SQL Server的代碼。 我爲此使用SQLDriverConnect API。當我從測試應用程序調用它時,它工作得很好。以C++編程方式連接到遠程SQL Server
但是,當我將它作爲wix安裝程序的一部分進行部署時,連接失敗。在進一步調試時,我發現調用dll函數的exe在系統上下文中運行,並且它嘗試使用用戶NT AUTHORITY \ ANONYMOUS LOGON進行連接,並給出錯誤[Microsoft] [ODBC SQL Server Driver] [SQL Server]登錄失敗用於NT AUTHORITY \ ANONYMOUS LOGON。
是否有可能使SQLDriverConnect在這種情況下選擇當前的工作站用戶而不是「匿名」用戶?
Sample code below.
// Connect to data source
retcode = SQLDriverConnect(
hdbc,
0,
L"DRIVER={SQL Server};SERVER=TestMachine123;Trusted_connection=true;",
SQL_NTS,
OutConnStr,
255,
&OutConnStrLen,
SQL_DRIVER_NOPROMPT);
感謝 蘇尼爾