我正在尝试使用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〜]#更多/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]驱动程序= / 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]#更多sys.ttconnect.ini
[ttLocalHost_tt1122]描述= TimesTen服务器 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:无法打开 库。
答案 0 :(得分:0)
从Oracle TimesTen内存数据库访问Go的最好方法是使用基于ODPI-C的go-goracle SQL驱动程序。
您应该使用tnsnames.ora指定将用于连接Go的TimesTen服务名称。无论使用TimesTen还是Oracle RDBMS,使用go-goracle的方式都是相同的。
答案 1 :(得分:-1)
您可以运行bin / ttenv.sh来设置环境变量,但是我可以从window连接,但是我还没有从linux连接