Python连接到Oracle DB

时间:2013-12-20 19:32:09

标签: python oracle database-connection connection-string pyodbc

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

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

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

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

1 个答案:

答案 0 :(得分: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位驱动程序的混乱,所以我想我指的是错误的。所以再一次进入开始菜单,在所有程序下,我找到了一个名为“Oracle in OraClient11g_home2”的文件夹,在其下面,一个名为“Oracle in OraClient11g_home32Bit”。我将Python中的连接线更改为以下内容:

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

它已连接。