2016-12-20 22 views
0

Im пытается создать ODBC, и это сработало, yay. Но одна вещь сводит меня с ума.Inno Setup: скажите, что ODBC аутентифицируется Windows NT/SQL

Могу ли я сообщить код в разделе [Реестр], чтобы создать ODBC, особенно с аутентификацией Windows NT или проверкой подлинности SQL?

Безусловно, мой код, чтобы создать ODBC выглядит следующим образом:

Root: HKCU; SubKey: Software\ODBC\ODBC.INI\ODBC Data Sources; ValueType: string; ValueName: {code:GetWINServerData|2}; ValueData: SQL Server; Flags: createvalueifdoesntexist uninsdeletevalue; Check: GetAuthModeWindows 
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\{code:GetWINServerData|2}; Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Driver; ValueType: string; ValueData: {sys}\SQLSRV32.dll; Check: GetAuthModeWindows 
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\{code:GetWINServerData|2}; Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Server; ValueType: string; ValueData: {code:GetWINServerData|1}; Check: GetAuthModeWindows 
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\{code:GetWINServerData|2}; Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Database; ValueType: string; ValueData: {code:GetWINServerData|0}; Check: GetAuthModeWindows 
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\{code:GetWINServerData|2}; Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: LastUser; ValueType: string; ValueData: WinUser; Check: GetAuthModeWindows 
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\{code:GetWINServerData|2}; Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Password; ValueType: string; ValueData: WinPass; Check: GetAuthModeWindows 

Этот код работает, он просто создает только ODBC с помощью проверки подлинности SQL. Любые мнения?

+1

Это скорее вопрос о [tag: odbc], а не о [tag: inno-setup], не так ли? –

+0

@MartinPrikryl Я нашел решение, опубликуем его как можно скорее. – aliimagnito

+0

@MartinPrikryl добавил мой ответ. – aliimagnito

ответ

1

Я нашел ответ:

, если вы хотите, чтобы ваш ODBC заверены Windows NT, добавьте ключ Trusted_Connection, как я сделал:

Root: HKCU; SubKey: Software\ODBC\ODBC.INI\{code:GetWINServerData|2}; Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Trusted_Connection; ValueType: string; ValueData: Yes; Check: GetAuthModeWindows 

«ключ» здесь заключается в следующем: Если вы хотите использовать проверку подлинности Windows, это дополнительный ключ под названием «Trusted_Connection». Если этот ключ имеет значение «Да», он определяется как Windows, прошедший проверку подлинности. Если этот ключ отсутствует, его SQL аутентифицируется.

Не стесняйтесь меня исправить, но это работает для меня здесь.

Я создал два разных ODBC. Единственным отличием был режим аутентификации. Я просмотрел его в реестре и единственной разницей был ключ «Trusted_Connection».