我正在尝试使用 golang 连接 TimesTen 数据库,但我找不到 golang 的 TimesTen 驱动程序。
有没有人有使用golang访问TimesTen的经验?
由于TimesTen支持OCI api。所以我在 https://github.com/go-goracle/goracle 尝试使用一个名为 goracle 的 go 包,但失败了。
这是我的sys.odbc.ini和TimesTen的 sys.tt:
[root@centos-7 ~]# more/var/TimesTen/sys.odbc.ini
[ODBC 数据源] TT_1122=倍十 11.2.2 驱动程序 sampledb_1122=倍十 11.2.2 驱动程序 sampledbCS_1122=倍十 11.2.2 客户端驱动程序
[TT_1122] Driver=/opt/TimesTen/tt1122/lib/libtten.so DataStore=/var/TimesTen/tt1122/TT_1122 DatabaseCharacterSet=US7ASCII
[sampledb_1122] Driver=/opt/TimesTen/tt1122/lib/libtten.so DataStore=/var/TimesTen/tt1122/DemoDataStore/sampledb_1122 PermSize=40 TempSize=32 PLSQL=1 DatabaseCharacterSet=US7ASCII
[sampledbCS_1122] TTC_SERVER=ttLocalHost_tt1122 TTC_SERVER_DSN=sampledb_1122 Driver=/opt/TimesTen/tt1122/lib/libttclient.so
--
[root@centos-7 TimesTen]# more sys.ttconnect.ini
[ttLocalHost_tt1122] 描述=倍十服务器 Network_Address=ttLocalHost TCP_PORT=53397
db, err := sql.Open("goracle","root/XXXXXXX@localhost:53397/sampledbCS_1122:timesten_client") // Trying to use this connect string for TimesTen, I am not sure if it is correct.
运行我的测试应用程序时,它报告错误如下:
[root@centos-7 ttrest]# ./ttrest 运行查询用户名="root"时出错 SID="localhost:53397/sampledbCS_1122:timesten_client" minSessions=1 maxSessions=1000 poolIncrement=1 extAuth=0 : ORA-29158:无法打开 图书馆。
从Oracle TimesTen内存数据库访问Go的最佳方法是使用基于ODPI-C的go-goracle SQL驱动程序。
您应该使用 tnsnames.ora 指定将用于连接到 Go 的 TimesTen 服务名称。无论您使用 TimesTen 还是 Oracle RDBMS,使用 go-goracle 的方式都是一样的。
您可以运行 bin/ttenv.sh 来设置环境变量,但我可以从窗口连接,但我还没有从 Linux 连接