У меня есть dll C++, у которого есть код для подключения к удаленному SQL Server. Для этого я использую API SQLDriverConnect. Он отлично работает, когда я вызываю его из тестового приложения.Подключение к удаленному SQL Server программно в C++
Однако, когда я развертываю его как часть установщика wix, сбой невозможен. При дальнейшей отладке я обнаружил, что exe, вызывающий функцию dll, запущен в системном контексте и пытается подключиться с использованием пользователя NT AUTHORITY \ ANONYMOUS LOGON и дает ошибку [Microsoft] [Ошибка SQL Server SQL Server] [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);
Благодаря Сунил