【问题标题】:How do I connect to Oracle 10 from pyodbc?如何从 pyodbc 连接到 Oracle 10?
【发布时间】:2012-05-22 02:47:29
【问题描述】:

我有“Oracle in OraClient10g”和“Microsoft ODBC for oracle”驱动程序(使用 ODBCAD32.EXE 检查)。

有没有办法用pyodbc连接oracle数据库?

【问题讨论】:

  • 你试过看this
  • 是的,我做到了,但并不是很明显这就是我所需要的。我认为现在数据库端和软件端(oracle 到 python)都需要 odbc 驱动程序。所以 MS odbc 驱动程序不会帮助我。
  • 我尝试安装 pyodbc-oracle 安装程序,但没有安装。 windows 说安装程序有问题。
  • 如果您不需要使用 ODBC,那么 CX_Oracle 将是另一种连接方式。它还支持比 ODBC 更多的 Oracle 功能。

标签: python oracle odbc pyodbc


【解决方案1】:

我使用带有 DSN 的 Oracle 驱动程序,并且对我来说它可以连接:

db = pyodbc.connect('DSN=my_test_db;PWD=tiger')

print('-' * 20)
try:
    c = db.cursor()
    rs = c.execute("select * from v$version where banner like 'Oracle%'")
    for txt in c.fetchall():
        print('%s' % (txt[0]))
finally:
    db.close()

【讨论】:

  • 这不起作用...我需要安装任何东西才能获得 dsn 吗?
  • 您是否在 NetManager(Oracle 客户端的一部分)中配置了 TSN?您是否在 ODBCAD32.EXE 中配置了 ODBC DSN?
  • 我无权访问服务器。我为“Microsoft ODBC for Oracle”添加了一个 DSN。我收到错误The driver doesn't support the version of ODBC behavior that the application requested
  • 在您的机器上,您必须安装和配置 Oracle 客户端,在您的问题中有关于“Oracle in OraClient10g”的信息,因此您拥有 Oracle 客户端。此客户端的一部分是 NetManager 和 NetConfigurationAssistant。你用它来配置TNS吗?如果没有,请阅读有关配置 TNS 的 Oracle 教程。
  • 由于我缺乏经验,我对 TNS 毫无概念。因此,我在连接字符串中使用了服务器,而实际上我应该使用 TNS“名称”。不幸的是,错误消息让我走错了方向。
猜你喜欢
  • 1970-01-01
  • 2015-02-06
  • 1970-01-01
  • 1970-01-01
  • 2016-06-01
  • 1970-01-01
  • 2012-09-16
  • 2014-07-25
  • 1970-01-01
相关资源
最近更新 更多