我有相当多的问题,使MSSQL驱动程序在Ubuntu工作。我遵循了下面的教程使sqlcmd在Ubuntu 16.04中工作。
# In CMD:
sqlcmd -S my_server_name -U my_username -P my_password -d my_database
1> select name from sys.databases
2> go在Ubuntu中安装相同的工具之后,它似乎可以工作,但是当试图连接到同一个数据库时,它会超时:
# In Ubuntu bash
sqlcmd -S my_server_name -U my_username -P my_password -d my_database
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2AFA.
Sqlcmd: Error: Microsoft ODBC Driver 17 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..我试图更改数据库的配置,使端口在1433上是静态的,但仍然没有成功。
你有什么意见建议?
发布于 2018-11-27 16:20:58
我已经解决了问题!
1.在Ubuntu上安装MSSQL驱动程序
跟着这个教程。
2.确保数据库上的端口是静态的
按照本教程设置静态端口。
3.识别资料库的IP入口。
我必须调用数据库上的以下代码才能获得ip-adress: local_net_address。
SELECT
+ CONNECTIONPROPERTY('net_transport') AS net_transport,
+ CONNECTIONPROPERTY('protocol_type') AS protocol_type,
+ CONNECTIONPROPERTY('auth_scheme') AS auth_scheme,
+ CONNECTIONPROPERTY('local_net_address') AS local_net_address,
+ CONNECTIONPROPERTY('local_tcp_port') AS local_tcp_port,
+ CONNECTIONPROPERTY('client_net_address') AS client_net_address4.连接数据库( Ubuntu bash)
这里有两个关于netcat和sqlcmd的例子。
# Using MSSQL tool
sqlcmd -S my_server_ip_adress//my_server_name,my_port -U my_username -P my_password -d my_database
# Using netcat
nc -z -v -w5 my_server_ip_adress my_porthttps://stackoverflow.com/questions/53503366
复制相似问题