【问题标题】:Pyodbc connecting to OraclePyodbc 连接到 Oracle
【发布时间】:2016-04-25 20:39:41
【问题描述】:

我正在尝试使用 Pyodbc 连接到 oracle 数据库:

pyodbc.connect('{Microsoft ODBC for Oracle};Server=serverxzy.com:1234;Uid=myusername;Pwd=pass123')

我收到以下错误消息:

pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')

任何如何解决它的建议将不胜感激。我特别感兴趣的是让 pyodbc 工作而不是 cx_Oracle。

【问题讨论】:

    标签: python oracle pyodbc


    【解决方案1】:

    您必须使用 Oracle 的专有库 cx_Oracle,并且您必须安装 Oracle 客户端和 SDK。

    设置完成后,您可以:

    import cx_Oracle
    
    conn_str = 'USER/PASS@HOSTNAME:PORT/ALIAS'
    conn = cx_Oracle.connect(conn_str)
    

    然后你可以用conn对象创建一个游标:

    c = conn.cursor()
    

    然后就可以执行SQL了:

    c.execute(SQL)
    

    【讨论】:

    【解决方案2】:

    考虑在connection string 中指定DRIVER

    pyodbc.connect('DRIVER={Microsoft ODBC for Oracle};Server=serverxzy.com:1234;
                    Uid=myusername;Pwd=pass123')
    

    【讨论】:

    • 这没有影响
    • 同样的错误?检查 Oracle 驱动程序是否与 Python 的位版本对齐? ODBC 驱动程序/DSN 可以在 ODBCcad32.exe 中找到:C:\Windows\System32 和 C:\Windows\SysWOW64。另外,我使用pypyodbc
    猜你喜欢
    • 2012-05-22
    • 2015-02-06
    • 2016-06-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 2019-02-26
    相关资源
    最近更新 更多