2

我正在尝试使用 golang 连接 TimesTen 数据库,但我找不到适用于 golang 的 TimesTen 驱动程序。

有没有人有使用 golang 访问 TimesTen 的经验?

由于 TimesTen 支持 OCI api。所以我试图在https://github.com/go-goracle/goracle使用一个名为 goracle 的 go 包,但失败了。

这是 TimesTen 的 sys.odbc.ini 和 sys.tt:

[root@centos-7 ~]# more /var/TimesTen/sys.odbc.ini

[ODBC 数据源] TT_1122=TimesTen 11.2.2 驱动程序 sampledb_1122=TimesTen 11.2.2 驱动程序 sampledbCS_1122=TimesTen 11.2.2 客户端驱动程序

[TT_1122] 驱动程序=/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 驱动程序=/opt/TimesTen/tt1122/lib/libttclient.so

--

[root@centos-7 TimesTen]# more sys.ttconnect.ini

[ttLocalHost_tt1122] 描述=TimesTen 服务器网络_地址=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 运行查询时出错 username="root" SID="localhost:53397/sampledbCS_1122:timesten_client" minSessions=1 maxSessions=1000 poolIncrement=1 extAuth=0 : ORA-29158: 无法开放图书馆。

4

2 回答 2

0

从 Oracle TimesTen In-memory Database 访问 Go 的最佳方式是使用基于ODPI-C的 go-goracle SQL 驱动程序。

您应该使用 tnsnames.ora 指定将用于连接到 Go 的 TimesTen 服务名称。无论您使用 TimesTen 还是 Oracle RDBMS,您使用 go-goracle 的方式都是相同的。

于 2019-11-12T16:40:58.520 回答
-1

您可以运行 bin/ttenv.sh 来设置环境变量,但我可以从窗口连接但我还没有从 linux 连接

于 2019-06-09T10:27:46.220 回答