【问题标题】:TimesTen database connection issue in pythonpython中的TimesTen数据库连接问题
【发布时间】:2018-01-19 14:17:09
【问题描述】:

我有 2 台机器设置:

  1. 带有 Timesten 客户端 11.2.1 和 pyodbc==3.0.7 的 RDP 终端,运行良好。我使用这个连接字符串:

    cnxn = pyodbc.connect('DSN=myhostip;UID=myusername;PWD=mypass')

  2. 带有 Timesten 客户端 11.2.2 和 pyodbc==4.0.22 的本地计算机(我也尝试过旧版本,例如 3.0.7) 当我使用连接字符串时: cnxn = pyodbc.connect('DSN=myhostip1;UID=myusername1;PWD=mypass1') 我收到此错误: pyodbc.Error: ('HY010', u'[HY010] [Microsoft][ODBC Driver Manager] 驱动无法支持当前环境属性。(0) (SQLDriverConnect)')。

两台机器上的两个数据库实际上是一样的,所以区别只是timesten驱动版本。 或者还有什么问题? 我在两台机器上都设置了 DSN,并在 SQLDeveloper 中连接到它们。

我尝试了不同的 timesten 客户端和 pyodbc 版本,但每次都出现相同的错误。 这是我所知道的连接到 Timesten DB 的唯一方法,谁能帮我解决这个错误,或者告诉我除了 pyodbc 之外的另一种连接方式吗?

【问题讨论】:

  • 根据您的操作,cx_Oracle 接口可能可用,尽管这不是经过测试的配置。
  • 是的,我使用 cx_Oracle 连接其他数据库,而不是 Timesten 数据库,您能告诉我怎么做吗?我试过这种方式:conn= cx_Oracle.connect('user','pass','17.1.17.1:53397'),但出现错误:cx_Oracle.DatabaseError: ORA-12547: TNS:lost contact。我想我需要在参数中指出时间驱动程序的路径/或名称?
  • 我已经成功通过 jaydebeapi 连接到 timesten 数据库: conn = jaydebeapi.connect("com.timesten.jdbc.TimesTenConnection","jdbc:timesten:client:dsn=myhost",{'用户': "SA", '密码':"mypass"},"c:\TimesTen\tt1122_64\lib\ttjdbc5.jar",)

标签: python oracle pyodbc timesten


【解决方案1】:

有关如何通过 Python 连接到 TimesTen,请参阅此答案: python access to TimesTen

通过 tnsnames.ora 使用 cx_Oracle,因为这是 Oracle 将在 TimesTen 18.1.3 中支持的方法

请避免使用任何基于 ODBC 的方法连接到 Python,因为这些技术都不是由 Oracle 开发或测试的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多