最近项目需要,需要操作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