通过 go-mssqldb 进行 golang SQL Server 查询

2024-02-23

我正在尝试查询SQL Server 2008 R2使用去

https://github.com/denisenkom/go-mssqldb https://github.com/denisenkom/go-mssqldb.

SQL Server 2008 R2实例位于Windows Server 2008 R2下的VM上;我正在 Win 7 VMWare 主机下进行开发,并从那里运行程序来查询虚拟机上的数据库。数据库已启动并正在运行服务器虚拟机上托管的应用程序。代码如下。

我收到的错误是:

[编辑 2017-03-14:指定端口时出现新错误]

登录错误:读取tcp 192.168.91.1:15222->192.168.91.135:1433: wsarecv:现有连接被远程主机强制关闭。

指定 SQL Server 端口 (1433) 时会返回此错误。包含或不包含实例不会改变它。

SQL Server 配置为允许远程连接、SQL Server 身份验证、连接未加密、启用 TCP/IP、IPALL 端口=1433。防火墙对 80、443、1433、1434 上的 TCP 开放; 1433、1434 上的 UDP。在将数据库实例添加到连接字符串中之前,我收到了不同的错误。

SQL 服务器日志seem表明机器正在说话。 IP 地址用于 VMWare 主机和 VM。SQL Server 浏览器服务正在运行(帐户“本地服务”)。 SQL Server 代理是not跑步。我尝试过使用 ODBC 和 ADO 连接字符串,但似乎遇到了相同的错误。任何帮助,将不胜感激。

package main
import (
   // Import go-mssqldb strictly for side-effects
   _ "github.com/denisenkom/go-mssqldb"
   "database/sql"
   "log"
)

func main() {
   var n_tables int

   println (sql.Drivers())

   // URL connection string formats
   //    sqlserver://sa:mypass@localhost?database=master&connection+timeout=30         // username=sa, password=mypass.
   //    sqlserver://sa:my%7Bpass@somehost?connection+timeout=30                       // password is "my{pass"
   // note: pwd is "myP@55w0rd"
   connectString := "sqlserver://SBM:myP%4055w0rd@VM17:1433?database=AE&connection+timeout=30"
   println("Connection string=" , connectString )

   println("open connection")
   db, err := sql.Open("mssql", connectString)
   defer db.Close()
   println ("Open Error:" , err)
   if err != nil {
      log.Fatal(err)
   }

   println("count records in TS_TABLES & scan")
   err = db.QueryRow("Select count(*) from ts_tables").Scan(&n_tables)
   if err != nil {
      log.Fatal(err)
   }
   println ("count of tables" , n_tables)

   println("closing connection")
   db.Close()
}

output:

[2/2]0xc042002c20
Connection string= sqlserver://VM17_SBM:P%4055word@VM17:1433?database=VM17_SBM_AE_OE_REPO_CL&connection+timeout=30
open connection
Open Error: (0x0,0x0)
count records in TS_TABLES & scan
2017/03/14 19:48:01 Login error: read tcp 192.168.91.1:15222->192.168.91.135:1433: wsarecv: An existing connection was forcibly closed by the remote host.
exit status 1

我在中找到了答案库作者在 Github 上的评论 https://github.com/denisenkom/go-mssqldb/issues/42#issuecomment-45337963.

将“encrypt=disable”添加到连接字符串中即可完成。我正在下载 SQL Server 2008 R2 x64 的 SP3 更新正如这里所建议的 https://github.com/denisenkom/go-mssqldb/issues/42#issuecomment-45217680当我有时间时会安装它。就目前而言,查询有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 go-mssqldb 进行 golang SQL Server 查询 的相关文章

随机推荐

  • Xcode 警告:指定的输入编码是 Unicode (UTF-8),但文件内容显示为 Unicode (UTF-16);视为 Unicode (UTF-16)

    我使用以下命令创建 strings 文件genstrings命令 该命令的输出文件使用 UTF 16 编码 但是当我将生成的 strings 文件添加到我的项目中然后 bild 时 Xcode 显示警告 指定的输入编码为 Unicode U
  • express.Router() 返回未定义

    我正在尝试设置一个在我的 node js HTTP 服务器上运行的 REST API 对于常规调用 我希望路径是 对于 API 调用 我想使用 API 根据我从各个网页收集到的信息 包括http expressjs com guide ro
  • 将图像添加到表格单元格 (iOS)

    我正在尝试做一些类似于 Twitter 或 Facebook 的事情 UITableViewCell tableView UITableView tableView cellForRowAtIndexPath NSIndexPath ind
  • 如何使用 Java (J2SE) 创建 QRCode

    如何使用普通j2se创建QRcode图像 有任何 API 或类可以用来执行此操作吗 为此 您需要下载以下 jar zxing core 1 7 jar zxing javase 1 7 jar from http code google c
  • 有没有办法在for循环中添加多个条件?

    n int raw input enter the number of mcnuggets you want to buy total number of mcnuggets you want yo buy for a in range 1
  • JS 字符串:替换为正则表达式中的索引

    我对正则表达式几乎没有经验 我想知道如何替换由正则表达式标识的字符串中的部分 其中索引是标识部分的一部分 这是我的示例字符串 let exampleStr How do I 0 the n with the 1 in my array 这是
  • 启用 nginx 分块传输编码

    看起来像nginx 0 8 35 可能支持分块传输编码 http nginx org en CHANGES 2010 年 4 月 1 日 nginx 0 8 35 的变化 Change now the charset filter runs
  • 项目参考与文件参考?

    可以通过两种方式在项目中添加引用 项目参考 文件参考 但是 什么时候使用 Project 什么时候使用 File 引用 您没有指定 但我猜您指的是 Visual Studio 项目引用和文件引用之间的主要区别在于是否提供实时更新 在项目参考
  • SASS中有多行吗? [复制]

    这个问题在这里已经有答案了 我无法从 SASS 文档中弄清楚这一点 例如我想使用带有 5 个参数的 Compass mixin link colors normal hover false active false visited fals
  • 如何在Meteor服务器中获取用户IP地址?

    我想在我的流星应用程序中的服务器端获取用户IP地址 以便我可以用一堆东西记录IP地址 例如 订阅邮件列表的非注册用户 或者只是做任何事情 重要的 我知道 当涉及反向代理时 服务器 看到 的 IP 地址可能与真实源地址不同 在这种情况下 X
  • MYSQL 中的规范化

    MySQL 中的规范化是什么 在什么情况下以及如何使用它 我尝试在这里用外行术语来解释标准化 首先 它适用于关系数据库 Oracle Access MySQL 因此它不仅仅适用于 MySQL 规范化是为了确保每个表具有唯一的最小字段并消除依
  • uint32_t 与 int 作为日常编程的约定

    什么时候应该使用 stdint h 中的数据类型 总是使用它们作为惯例是正确的吗 像 int 和 Short 这样的非特定大小类型的设计目的是什么 什么时候应该使用 stdint h 中的数据类型 当编程任务指定整数宽度时 特别是为了适应某
  • 在 Facebook 等 iOS 应用程序中预览嵌入链接

    我正在尝试以与 Facebook 相同的方式在 iOS 应用程序中嵌入链接预览 我正在尝试找到一种方法来获取最合适的图像 并返回其 url 页面标题 甚至可能是元描述并将其传递回应用程序 但我不确定最好的方法 有一些 API 可以做到这一点
  • 在 Tkinter 中拖放?

    在 tkinter 中完成拖放的正确 官方 正确 推荐的方法是什么 我的文档第 24 1 1 节包括 Tkdnd 对 Tkinter 的拖放支持 这是实验性的并且 当它被 Tk DND 取代时 它应该被弃用 但我找不到其他的official
  • 正则表达式仅允许数字或空字符串

    有人可以帮我创建这个正则表达式吗 我需要它来检查字符串是否完全是空白 空 或者是否只包含正整数 如果还有其他事情 那就失败了 这是我到目前为止所拥有的 s 0 9 0 9 您正在寻找 s d 如果您想要一个不带前导零的正数 请使用 1 9
  • 如何使用 Expo EAS 为 React Native 中的 组件启用动画 webp?

    使用 Expo EAS 构建时 动画 gif 在 Android 中可以工作 但动画 webp awebp 则不能 Why 如何让 awebp 工作 为什么 gif 动画可以用 但它却不起作用 React Native 有动画图像支持多种格
  • IntelliJ IDEA 和 Gradle:为什么每个子模块有 3 个模块?

    我对 IntelliJ IDEA 的 gradle 集成以及 gradle 子项目到 IDEA 模块的映射感到相当困惑 为什么每个 gradle 子项目都有 3 个模块 client client main 和 client test 有没
  • 停止异步 ISearchJob 的正确方法

    我要使用WUA API https msdn microsoft com en us library windows desktop aa387099 v vs 85 aspx并以这种方式开始执行异步搜索更新 CComPtr
  • python中比较两个列表的最佳算法

    我在 python 中有两个列表 list1 和 list2 其中填充了自己的数据类型 我想将它们与列表进行比较 并将这些列表的所有元素提供给标准输出 或其他地方 但以特定的顺序 不以任何方式对列表进行排序 List1 和 List2 可以
  • 通过 go-mssqldb 进行 golang SQL Server 查询

    我正在尝试查询SQL Server 2008 R2使用去 https github com denisenkom go mssqldb https github com denisenkom go mssqldb SQL Server 20