golang ODBC 访问access数据库

本文讲述了使用Golang通过ODBC访问Access数据库时遇到的若干问题,包括gcc环境缺失、ODBC函数符号找不到以及go-odbc库的bug。通过添加环境变量、修改源码以及使用日志定位问题,最终成功解决问题并提交了修复代码。
摘要由CSDN通过智能技术生成

最近项目需要,需要操作access,以前是用VC++ OLE访问,网络用ACE库,感觉很庞大。。。决定用go试试


网上用的最多的就是这个https://github.com/weigj/go-odbc


安装方式如下:

ODBC database driver for Go

Install:
	cd $GOPATH/src
	git clone git://github.com/weigj/go-odbc.git odbc
	cd odbc
	go install


测试时碰到好多坑。。。。。


第1次当运行go install时,

坑爹1:发现找不到gcc,哦, 推测cgo去链接odbc32的dll,需要gcc编译环境,幸亏哥搞cocos2d-x时电脑上已经装了庞大的cygwin,于是启动Cygwin Terminal,跳转到odbc目录,


第2次当运行go install时,

坑爹2:提示access limit。。可是在console里直接运行gcc -v是存在的,感觉是gcc这个是linux的符号链接,推测go install时可能没用利用cygwin的环境设置,有点冲突,于是删掉gcc这个符号link,把真正的gcc-4.exe改名为gcc.exe,

第3次当运行go install时,

坑爹3:提示找不到ODBC的函数符号,你妹,不得不fuck source code了,读源码odbc.go,发现导入有个macro定义,
#ifdef __MINGW32__
  #include <windef.h>
#else
  typedef void* HANDLE;
#endif

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值