2013-12-20 129 views
3

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

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

理想情况下,我会运行我需要的python,但有困难。就目前而言,我已经在MS SQL Server数据库中为Oracle数据库创建了一个链接服务器对象,但这并不理想。

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

+1

PYODbC应该可以很好地连接到Oracle数据库 - 您是否尝试过构建一个系统ODBC连接并将其提供给Python? – jsbueno

回答

2

我遇到了同样的问题,我可以通过Oracle SQL Developer连接到数据库,但不通过pyodbc。其他人做了大部分数据库设置,所以我不确定正确的连接参数。我会通过您如何在Windows计算机上进行连接来解决您的问题。

在开始菜单中,我键入“odbc”并选择“Microsoft ODBC Administrator”。在“系统DSN”选项卡下,我找到了我的DSN名称(我们称之为myDSN)和相应的驱动程序(我的是“OraClient11g_home2中的Oracle”)。我也有我的数据库指定用户名和密码,所以我的连接线,现在看起来是这样的:

cnxn = pyodbc.connect(driver='{Oracle in OraClient11g_home2}', dsn='myDSN', uid='HODOR', pwd='hodor') 

也许在这一点上它会为你工作,但我还是无法连接。这台计算机是32位和64位驱动程序的混乱,所以我想我是指向错误的。因此,再次进入开始菜单,在所有程序下,我找到一个名为“OraClient11g_home2中的Oracle”的文件夹,并在其下方有一个名为“Oracle in OraClient11g_home32Bit”的文件夹。我在Python中将我的连接线更改为以下内容:

cnxn = pyodbc.connect(driver='{Oracle in OraClient11g_home32Bit}', dsn='myDSN', uid='HODOR', pwd='hodor') 

并且它已连接。