通过pyodbc连接Python到Oracle数据库



我正在尝试使用pyodbc连接到oracle数据库。下面是我开发的Python代码:

import pyodbc
conn=pyodbc.connect('DRIVER={Oracle in OraClient19Home1};Host=xxxxxx.yyy.com;Port=1521;Service Name=myservicename;User ID=myuserid;Password=mypassword')
不幸的是,上面的代码不起作用,因为它返回以下错误:
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6
PS C:UsersbalestramOneDrive - World Health OrganizationDocumentsData AnalyticsPython Training> & C:/Users/balestram/AppData/Local/Programs/Python/Python311/python.exe "c:/Users/balestram/OneDrive - World Health Organization/Documents/Data Analytics/Python Training/python"
Traceback (most recent call last):
File "c:UsersxxxxxxxxxOneDrive - xxxxxxxxxxxxxxxxxxxxxDocumentsData AnalyticsPython Trainingpython", line 2, in <module>
conn=pyodbc.connect('DRIVER={Oracle in OraClient19Home1};Host=xxxxxx.yyy.com;Port=1521;Service Name=myservicename;User ID=myuserid;Password=mypassword')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pyodbc.Error: ('HY000', '[HY000] [Oracle][ODBC][Ora]ORA-12560: TNS:protocol adapter errorn (12560) (SQLDriverConnect); [HY000] [Oracle][ODBC][Ora]ORA-12560: TNS:protocol adapter errorn (12560)')
PS C:UsersxxxxxxxxxxOneDrive - xxxxxxxxxxxxxxxxxxxxxDocumentsData AnalyticsPython Training>

我必须补充说,如果我用Ms Access和/或Ms Power BI连接到Oracle数据库,上述连接参数工作良好。

感谢所有能引导我走上正轨的人。

尝试下面的操作,看看是否有效。摘自pyodbc文档

pyodbc.connect('DRIVER={Oracle in OraClient19Home1};DBQ=xxxxxx.yyy.com:1521/myservicename;
UID=myuserid;PWD=mypassword'))"

最新更新