你如何使用pyodbc连接到oracle

use*_*980 5 python oracle

我试图使用pyodbc连接到Oracle数据库,收到错误.示例包括ms sql server驱动程序:

在我的/etc/unixODBC/odbc.ini中,我有这个条目:

[test_con]
Driver=Oracle
Description=data repository db
Trace=Yes
ServerName=//db1.example.com:1521/db2_svc1


import pyodbc
cnxn=pyodbc.connect('DSN=test_con, UID=user_id, PWD=passwd123')
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

pyodbc.Error: ('IM012', '[IM012] [unixODBC][Driver Manager]DRIVER keyword syntax error (0) (SQLDriverConnect)')
Run Code Online (Sandbox Code Playgroud)

Eva*_*son 7

我来这里寻找这个问题的答案,但在其他地方找到了我想分享的更普遍问题的答案。您可以使用 cx_Oracle 库非常简单地连接到 Oracle 数据库,而无需 pyodbc。查看下面的安装说明:

https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html

起始代码如下:

cx_Oracle.init_oracle_client(lib_dir=r"C:\oracle\instantclient_19_10")

connection = cx_Oracle.connect(
user="username",
password="password",
dsn="address")

cursor = connection.cursor()
Run Code Online (Sandbox Code Playgroud)


Val*_*dar -5

尝试类似的方法:

import pyodbc
connectString = 'Driver={Microdsoft ODBC for Oracle};Server=<host>:<port>/<db>.<host>;uid= <username>;pwd=<password>'
cnxn = pyodbc.connect(connectString)
Run Code Online (Sandbox Code Playgroud)

阅读一些文档;)https://sites.google.com/site/bcgeopython/examples/getting-the-pyodbc-module