У меня VS2015 с SSDT. установлен вместе с SSMS и модуль PowerShell SqlServer (который включает команду invoke-sqlcmd
), и все же, если я попробуйте выполнить запрос к хранилищу данных SQL Azure следующим образом:
invoke-sqlcmd -Query "Select top 5 * from customer" -ConnectionString "Server=tcp:my.database.windows.net,1433;Database=Customer; Authentication=Active Directory Integrated; Encrypt=True; "
Я получаю следующую ошибку:
invoke-sqlcmd : Unable to load adalsql.dll (Authentication=ActiveDirectoryIntegrated). Error code: 0x2. For more information, see
http://go.microsoft.com/fwlink/?LinkID=513072
At line:1 char:1
+ invoke-sqlcmd -Query "Select top 5 * from vwOffer" -ConnectionStrin ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Invoke-Sqlcmd], SqlException
+ FullyQualifiedErrorId : SqlExectionError,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
invoke-sqlcmd :
At line:1 char:1
+ invoke-sqlcmd -Query "Select top 5 * from vwOffer" -ConnectionStrin ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ParserError: (:) [Invoke-Sqlcmd], ParserException
+ FullyQualifiedErrorId : ExecutionFailureException,Microsoft.SqlServer.Management.PowerShell.GetScriptComman
Если я попытаюсь установить adalsql.dll напрямую, я получу сообщение о том, что A higher version already exists
и Я вижу, что обе версии dll можно найти здесь:
C:\Windows\SysWOW64\adalsql.dll
C:\Windows\System32\adalsql.dll
и все же, invoke-sqlcmd не может его найти. Любая идея, как либо (A) зарегистрировать существующую dll, чтобы invoke-sqlcmd мог ее найти, либо (B) удалить ее, чтобы ее можно было переустановить?
Между прочим, я могу использовать аутентификацию Active Directory с 32-разрядным SQLCMD.exe, поэтому я знаю, что 32-разрядная dll работает нормально. Это просто 64-битная dll, которая не загружается должным образом...
settings
›Add or Remove Programs
, я приму это как ответ. Я бился все утро, пытаясь понять, как переустановить его... - person Jthorpe   schedule 09.08.2017