【问题标题】:Connection string for connecting to SQL Server on Ubuntu用于连接到 Ubuntu 上的 SQL Server 的连接字符串
【发布时间】:2020-08-16 07:40:07
【问题描述】:

考虑这种情况。

  • 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) 和数据库好友的正确字符串应该是什么?

【问题讨论】:

    标签: sql-server odbc sqlcmd


    【解决方案1】:

    我会试试的

    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/

    【讨论】:

      【解决方案2】:

      这条线路在本地连接上对我有用:

      Server=.,34567;database=DatabaseName;UID=sa;PWD=YourPassword;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多