【问题标题】:Unable to connect to MSSQL 2014 with Golang (without opening static port on MSSQL)无法使用 Golang 连接到 MSSQL 2014(未在 MSSQL 上打开静态端口)
【发布时间】:2017-06-18 18:02:45
【问题描述】:

我正在尝试将我的 Golang 应用程序连接到 MSSQL 2014。

我已经成功使用 - https://github.com/denisenkom/go-mssqldb 为此,我只在我的 MSSQL 上启用了一个静态端口,一切都很好,我能够获取数据。

但我想要实现的是无需在 MSSQL 上打开静态端口即可连接到 MSSQL,因为我的 PHP 应用程序已经使用 PDO 完成此操作。

我也尝试过使用 - https://github.com/minus5/gofreetds 但无法在 Windows 上安装 FreeTDS。但即便如此,我也看到了为 MSSQL 设置端口的地方,所以我停止了。

我遇到的另一个 golang pkg 是 - https://github.com/alexbrainman/odbc 但由于缺乏文档,我仍然卡住了。此 pkg 的单元测试失败,说用户登录失败。但是登录凭据工作正常。

有没有人成功做到这一点。

【问题讨论】:

    标签: php sql-server windows go sql-server-2014


    【解决方案1】:

    对于数据库端口 # 始终存在。默认或用户定义。 MSSQL 默认端口号是 TCP/IP 的 1433 和 USD 连接的 1434。 denisenkom/go-msmsqldb 驱动程序已经使用默认端口 # 如果您不提供。

    denisenkom/go-msmsqldb驱动支持三种方式(ADO、ODBC、URL)的连接字符串格式。选择此处记录的您的https://github.com/denisenkom/go-mssqldb#connection-parameters-and-dsn

    【讨论】:

    • 我的机器上的 MSSQL 禁用了 1433 和 1434 端口。但 PHP 应用程序仍然可以正常使用 MSSQL。所以,我希望我能用 Go 实现同样的目标。 denisenkom/go-msmsqldb pkg 在我为 TCP/IP 启用 1433 后工作。无论如何,没有端口是可能的。我无法理解我的 PHP 应用程序是如何工作的。任何的意见都将会有帮助。谢谢:)
    • 这是我的 PHP 连接,即使没有启用端口也能正常工作。 $this->db = new PDO('sqlsrv:Server=' . DATABASE_SERVER . ';Database=' . DATABASE_BNAME, DATABASE_LOGIN_NAME, DATABASE_PASSWORD );
    • 你能分享在go中使用的连接字符串格式和DATABASE_SERVERDATABASE_BNAME的值吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 2013-07-13
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多