我在谷歌上搜索了很多,希望找到任何可以访问TimesTen (在内存数据库中)的python模块。我正在写一个自动化测试框架(更像是系统测试而不是单元测试)。有谁知道这样的模块吗?最后的办法是自己编写包装器,但这是我真正想要避免的事情。
发布于 2019-11-12 13:57:44
要将Python与TimesTen (11.2或18.1)配合使用,应使用cx_Oracle
对于TimesTen和Oracle RDBMS,cx_Oracle的工作方式相同
对于TimesTen和Oracle RDBMS,cx_Oracle既可以使用Easy connect方法,也可以在连接字符串中使用tnsnames.ora。
下面的示例使用tnsnames.ora ie doug/doug@ cx_Oracle
# myscript.py
from __future__ import print_function
import cx_Oracle
connection = cx_Oracle.connect("doug", "doug", "sampledb")
cursor = connection.cursor()
cursor.execute("insert into t values (42)")
connection.commit()
connection.close()TimesTen 18.1.2.3示例B的直接链接和客户端服务器tnsnames.ora条目为:
sampledb =(DESCRIPTION=(CONNECT_DATA = (SERVICE_NAME = sampledb)(SERVER =timesten_direct)
sampledbCS =(DESCRIPTION=(CONNECT_DATA = (SERVICE_NAME = sampledbCS)(SERVER =timesten_client)
和往常一样,您需要使用bin/ttenv.sh来配置环境!
在我的Ubuntu16.04机器上,我的PATH和LD_LIBRARY_PATH是:
echo $PATH /home/ubuntu/tt18123/bin:/home/ubuntu/tt18123/install/bin:/home/ubuntu/tt18123/install/ttoracle_home/instantclient_11_2:/home/ubuntu/tt18123/install/ttoracle_home/instantclient_11_2/sdk:/home/ubuntu/.cargo/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
echo $LD_LIBRARY_PATH /home/ubuntu/tt18123/ttclasses/lib:/home/ubuntu/tt18123/install/lib:/home/ubuntu/tt18123/install/ttoracle_home/instantclient_11_2
echo $TNS_ADMIN /home/ubuntu/tt18123/install/network/admin/samples
Oracle TimesTen将在TimesTen 18.1.3中正式支持ODPI-C和cx_Oracle
请避免在TimesTen中使用任何基于ODBC的python库,因为cx_Oracle是Oracle Development测试和开发的依据。
发布于 2011-11-02 22:45:11
我没有找到原生的,但是TimesTen有你可以使用的ODBC接口。
http://www.compwisdom.com/topics/ODBC
发布于 2012-01-26 01:24:09
有一个pyodbc应该可以在odbc数据库上工作。我不确定它是否真的能工作。我认为pyodbc需要odbc 3,而timesten可能不支持这一点(还没有检查),但它值得一试。
还有mxODBC,我还没试过。这可能也行得通。
是的,这是我试用后的一个更新:(假设你是在某种unix上)它实际上与unixodbc一起与pyodbc一起工作。pyodbc需要ODBC3.x,而TimesTen不支持。但是,unixodbc会为你在这两者之间“翻译”。这意味着你不能使用pyodbc中的libodbc.so,因为它缺少了很多来自ODBC3的函数。
https://stackoverflow.com/questions/7982224
复制相似问题