首先,我是Go语言的新手。
我决定创建我们作为业余爱好项目开发的一些.NET服务的Go版本。尝试这个的原因是:
现在,为了创建这些Web服务,我需要访问我们的数据库。我将测试服务器配置为允许使用ODBC访问数据库。
下一步:在Go应用程序中获取ODBC连接。有几个Go ODBC包可用,目前我正在尝试使用这个:https://github.com/BenoyRNair/godbc
项目中包含的是一个例子。当我尝试运行该示例时,我收到以下错误消息:
MacBook-Air:go wolf$ go run example.go
# godbc
godbc.go:77:2: expected declaration, found '('
godbc.go:81:2: expected declaration, found 'IDENT' x
godbc.go:104:2: expected declaration, found 'IDENT' dsn
godbc.go:109:2: expected declaration, found 'IDENT' returnInt
godbc.go:132:2: expected declaration, found 'IDENT' driver
godbc.go:137:2: expected declaration, found 'IDENT' returnInt
godbc.go:161:2: expected declaration, found 'IDENT' outConnectionString
godbc.go:185:2: expected declaration, found 'IDENT' messageText
godbc.go:188:2: expected declaration, found 'IDENT' returnInt
godbc.go:212:2: expected declaration, found 'IDENT' returnInt
godbc.go:230:2: expected declaration, found 'IDENT' returnInt
godbc.go:242:2: expected declaration, found 'IDENT' returnInt
godbc.go:275:2: expected declaration, found 'IDENT' returnInt
godbc.go:291:2: expected declaration, found 'IDENT' buffer
godbc.go:336:2: expected declaration, found 'for'
现在我不确定如何处理这个错误。我认为错误可能与文件的格式有关,但也许还有其他东西在手边。当我查看github页面时,在问题选项卡上,我注意到其他人提到了同样的问题,但是注意到代码没有使用最新版本的Go进行编译,所以我认为它已经编译过了。
有没有人知道这个问题是否有一些简单的解决方法,还是我应该试试其他一些ODBC包?如果是这样的话:推荐什么套餐?
答案 0 :(得分:2)
https://github.com/BenoyRNair/godbc是一个很老的包。正如你所发现的,它甚至不再编译。
Go现在有数据库/ sql标准包来访问任何sql数据库。它提供了接口,但您还需要一个“驱动程序包”来实现对所选数据库的访问。这种设计的想法是你可以替换“驱动程序包”来访问不同的数据库。大多数(如果不是全部)用户代码都不应更改。
除非您需要某些ODBC特定功能,否则您应该尝试使用database / sql包。这将允许您尝试不同的驱动程序,直到找到适合您的驱动程序。
我自己编写了ODBC驱动程序http://code.google.com/p/odbc/。我用它来访问MS SQL Server。也许,它会对你有用。
亚历
答案 1 :(得分:1)
看起来代码是在Go拥有自动分号插入规则之前编写的,即使gofix也不会像现在这样触及代码。我对ODBC知之甚少,但我认为使用不同的软件包会更好。
答案 2 :(得分:0)
大多数使用Go with Microsoft SQL Server的人似乎都在使用驱动程序包github.com/denisenkom/go-mssqldb
以及标准database/sql
程序包。
我对Go with SQL Server driver is unable to connect successfully, login fail的回答可能会帮助您或其他任何人,其中详细说明了我为完成演示程序所做的一些工作。我必须进行一些SQL Server配置更改。
- enable SQL Server Authentication as well as Windows Authentication
- enable TCP connections
- create SQL Server user and assign necessary permissions
该示例适用于作为本地计算机上的默认实例安装的SQL Server。