如何解决用于在Ubuntu上连接到SQL Server的连接字符串
考虑这种情况。
-
SQL Server在ubuntu上运行
-
能够通过Azure Data Studio连接
-
能够通过sqlcmd连接
sqlcmd -S 192.168.99.100,31433 -U sa -P S0mePassw0rd -d friends -Q "SELECT TOP 5 * FROM dbo.users;"
但是我无法使用本地计算机上的ODBC通过C代码进行连接。
retcode = SQLDriverConnect(hdbc,NULL,connectionstring,SQL_NTS,outstr,sizeof(outstr),&outstrlen,SQL_DRIVER_NOPROMPT);
retcode = SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt);
CHECK_ERROR(retcode,"SQLAllocHandle(SQL_HANDLE_STMT)",
SQLDriverConnect
返回-1,而SQLAllocHandle
失败。
可能是错误的连接字符串,但我尝试了数百种不同的连接字符串,但均未成功。
最新的是
Server=friends.laurijssen.local,31433;UID=sa;PWD=S0mePassw0rd;
在端口31433和数据库好友上连接到192.168.100.99(laurijssen.local)的正确字符串应该是什么?
解决方法
我会尝试
Server=laurijssen.local,31433;database=friends;UID=sa;PWD=S0mePassw0rd;
或
Server=192.168.100.99,31433;database=friends;UID=sa;PWD=S0mePassw0rd;
server=
部分应该仅仅是服务器名称(机器名称)或IP地址-如果使用了自定义端口,则应加上端口;应该使用database=
键单独指定数据库
有关参考,请参见https://www.connectionstrings.com/microsoft-sql-server-odbc-driver/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。