sql-server – 如何在Linux上使用sqlcmd连接到SQL Server?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了sql-server – 如何在Linux上使用sqlcmd连接到SQL Server?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2085字,纯文字阅读大概需要3分钟。
内容图文
![sql-server – 如何在Linux上使用sqlcmd连接到SQL Server?](/upload/InfoBanner/zyjiaocheng/897/9715f2dadaf8456c92b85165afbefc82.jpg)
我在Ubuntu 16.04计算机上为SQL Server设置了Microsoft ODBC Driver 13.我现在正在尝试测试数据库连接,包括服务器名称和实例名称.
以下两者都可以在Windows机器上正常工作:
sqlcmd -S "SERVERNAME\INSTANCENAME" -U User -P pwd -d DatabaseName -Q "SELECT TOP 5 Id FROM dbo.MyTable;"
sqlcmd -S SERVERNAME\INSTANCENAME -U User -P pwd -d DatabaseName -Q "SELECT TOP 5 Id FROM dbo.MyTable;"
但是它们都不能在Linux上运行 – 它们都会返回下面的错误消息.该错误意味着无法找到服务器:
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : MAX_PROVS: Error Locating Server/Instance Specified [xFFFFFFFF]. .
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..
我也尝试使用相同的错误(以及单引号和双引号)转义反斜杠.
sqlcmd -S "SERVERNAME\\INSTANCENAME" -U User -P pwd -d DatabaseName -Q "SELECT TOP 5 Id FROM dbo.MyTable;"
sqlcmd -S SERVERNAME\\INSTANCENAME -U User -P pwd -d DatabaseName -Q "SELECT TOP 5 Id FROM dbo.MyTable;"
然而,驱动程序正在工作,因为我可以连接到没有实例名称的其他服务器:
sqlcmd -S SERVERNAME -U User -P pwd -d DatabaseName -Q "SELECT TOP 5 Id FROM dbo.MyTable;"
我相当肯定这是由于反斜杠,但无法找到解决这个问题的方法.
解决方法:
在Dan Guzman的评论的帮助下,我得到了使用端口的连接.
我有一台带有SQL Management Studio的Windows机器连接到相关数据库,并使用:
netstat -abn
然后我搜索了ssms.exe以获取连接详细信息:
TCP 192.168.0.31:50777 192.168.0.78:49399 ESTABLISHED [Ssms.exe]
或者,登录数据库服务器并查看SQL Server配置管理器中实例使用的端口(SQL Server网络配置> INSTANCENAME协议> TCP / IP>属性> IPAll TCP动态端口).
以下两者都有效:
sqlcmd -S 192.168.0.78,49399 -U User -P pwd -d DatabaseName -Q "SELECT TOP 5 Id FROM dbo.MyTable;"
sqlcmd -S SERVERNAME,49399 -U User -P pwd -d DatabaseName -Q "SELECT TOP 5 Id FROM dbo.MyTable;"
内容总结
以上是互联网集市为您收集整理的sql-server – 如何在Linux上使用sqlcmd连接到SQL Server?全部内容,希望文章能够帮你解决sql-server – 如何在Linux上使用sqlcmd连接到SQL Server?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。