https://github.com/weigj/go-odbc
Install:
cd $GOPATH/src
git clone git://github.com/weigj/go-odbc.git odbc
cd odbc
go install
dns 中配置的是数据源的名称
package main
import (
"fmt"
"odbc"
)
func main() {
fmt.Printf("%sn", "创建数据库链接")
conn, _ := odbc.Connect("DSN=hvb")
stmt, _ := conn.Prepare("select top 10 * from 123")
stmt.Execute()
rows, err := stmt.FetchAll()
if err != nil {
fmt.Println(err)
return
}
for i, row := range rows {
println(i, row)
}
stmt.Close()
conn.Close()
return
}
需要注意的是,office是64位的,建立数据源也要是64位的,否则无法连接(因为此时驱动也是64位的,安装office时会自动安装access驱动),搞了快两天,网上很多都是用odbc字符串连接的,根本不配置数据源的名称,我一直都没连接成功.记录下,蛋疼.
还需要注意的是 表名和字段名不能为中文,否则报错.
特别注意
读取access字段(文本字段)的时候,会按着字段大小去读取,有时字符串很长,但读取的时候总是最后少几位,此时把数据库字段大小放到最大255即可.FUCK,写习惯PHP了,真有些不适应!