无法连接到Azure的DB与SQLCMD

问题描述:

我有一个Azure数据库,我是能够连接到使用Active Directory Integrated authenticationSql Server Management Studio(17.1版)。然而,当我尝试使用sqlcmd连接(版本13.1.811.168),途经:如果我去这个链接,并下载最新版本的无法连接到Azure的DB与SQLCMD

Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : SQL Server Network Interfaces: Unable to locate the registry entry for adalsql.dll file path. Verify that Active Directory Authentication Library for SQL Server is properly installed. For details, please refer to: http://go.microsoft.com/fwlink/?LinkID=513072 .

sqlcmd -S my-dataabse.database.windows.net -G -C -Q "SELECT name FROM master.dbo.sysdatabases" 

我得到这个错误adalsql.dll,它告诉我,我已经安装了它。此外,我可以确认C:\Windows\System32\adalsql.dll存在。

不知道尝试下一步是什么?

所以,事实证明,我的搜索路径上的第一sqlcmd.exe是64位版本和SQL Server Management Studio中仅安装的adalsql.dll 32位版本,因此解决办法是添加C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn我的搜索路径的头部,使得sqlcmd.exe 32位版本将调用命令行sqlcmd blah blah blah时使用。