Python连接Oracle数据库

4

我目前使用PYODBC连接MS SQL Server和MySQL,但现在需要访问Oracle数据库。

我的工作电脑上安装了Oracle SQL Developer(但根据其他SO帖子,似乎没有单独的Net Manager客户端),我可以使用它来访问数据库。

理想情况下,我希望在Python中运行所需代码,但遇到了困难。目前,我已经创建了一个链接服务器对象,将Oracle DB嵌入MS SQL Server DB中,但这并不是最理想的解决方案。

请问我需要做什么才能让PYODBC(或替代品)连接到Oracle?非常感谢。


1
PYODBC应该可以很好地连接到Oracle数据库 - 你尝试过创建一个系统ODBC连接并将其提供给Python吗? - jsbueno
1个回答

2
我遇到了同样的问题,我可以通过Oracle SQL Developer连接到数据库,但无法通过pyodbc连接。其他人完成了大部分数据库设置,因此我不确定正确的连接参数。我将向您介绍如何在Windows计算机上连接。
在“开始菜单”中,我输入“odbc”,然后选择“Microsoft ODBC管理员”。在“系统DSN”选项卡下,我找到了我的DSN名称(我们称之为myDSN)和相应的驱动程序(我的是“Oracle in OraClient11g_home2”)。我还必须为我的数据库指定用户名和密码,因此我的连接行现在看起来像这样:
cnxn = pyodbc.connect(driver='{Oracle in OraClient11g_home2}', dsn='myDSN', uid='HODOR', pwd='hodor')

也许对你来说现在能够运行了,但我仍然无法连接。这台计算机混乱不堪,安装了32位和64位的驱动程序,所以我认为我可能指向了错误的驱动程序。因此,我再次进入开始菜单,在所有程序下找到一个名为“Oracle in OraClient11g_home2”的文件夹,它下面还有一个名为“Oracle in OraClient11g_home32Bit”的文件夹。我将Python中的连接行更改为以下内容:
cnxn = pyodbc.connect(driver='{Oracle in OraClient11g_home32Bit}', dsn='myDSN', uid='HODOR', pwd='hodor')

它已经连接成功了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接