我想在Mac上使用sqlcmd
cli在使用Windows身份验证的Microsoft SQL Server上运行脚本。
软件详细信息:
Mac OS 10.13
MSSQL 2012版本11.0.2100.60
sqlcmd版本17.0.0001.1 Linux
作为测试,我尝试了:
sqlcmd -S hostname,port\\database_name -U domain\\user.name -P "XXX" -q "select @@version"
但是我收到了错误消息:
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login failed for user domain\user.name
我还配置了freetds
DSN,并尝试使用以下方式进行连接:
sqlcmd -S DSN_NAME -D -U domain\\user.name -P "XXX" -q "select @@version"
但是我收到了错误消息:
The DSN specified an unsupported driver
对于它的价值,我可以通过以下方式通过isql
使用相同的DSN:
isql DSN user.name password
任何帮助都将不胜感激!
答案 0 :(得分:0)
一些可能有用的东西。 如果您想使用Windows身份验证,我认为您将必须设置Kerberos并且不使用sqlcmd命令提供登录ID和密码。
我有一个令人困惑的场景,当数据库服务器设置为仅接收Windows身份验证连接,而MS ODBC驱动程序将不使用用户名和密码进行连接时,带有freetds的isql将使用用户名和密码进行连接。将计算机连接到网络后,设置了kerberos,并获得了kerberos票证,我可以使用以下方式进行连接:
sqlcmd -S 'ServerName'