如何在Windows 7中为Oracle数据库设置DSN?

时间:2015-09-15 14:36:01

标签: sql r odbc windows-7-x64 rodbc

让我先说明我完全不知道我在设置或连接到Oracle数据库方面做了什么。我知道SQL语法,但我自己从来不必担心连接。

我的最终目标是使用R中的RODBC软件包连接到特定的数据库。如果您可以使用替代软件包来连接到R中的数据库,我也会对此感到高兴。我目前通过Oracle SQL Developer连接到这个数据库,但是想通过R直接访问数据。我在SQL Developer中设置的这个数据库的通用连接细节如下所示:

Connection Name: connection1
Username: user1
Password: password1
Connection Type: Basic
Hostname: ABCDEF
Port: 51500
SID: sid1

在我最初使用RODBC失败后,我读到我需要在Windows中创建一个DSN。我尝试使用MySQL,XE中的Oracle和SQL Server驱动程序创建DSN,使用上面列出的连接细节的每种组合都是有意义的。我每次都失败了。我错了吗?我可以遵循一套简单的指令来设置DSN,还是有办法解决这个问题,同时仍然可以访问R中的数据库?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

<强> 1。安装Instant Client(基本+ ODBC)

32位 http://www.oracle.com/technetwork/topics/winsoft-085727.html

64位 http://www.oracle.com/technetwork/topics/winx64soft-089540.html

所有文件在C:\ oracle \ instantclient_12_1 \

中解压缩

cmd.exe运行C:\ oracle \ instantclient_12_1 \ odbc_install.exe

<强> 2。 TNS

创建C:\ oracle \ instantclient_12_1 \ NETWORK \ ADMIN \ tnsnames.ora

在tnsnames.ora中添加TNS配置

添加系统环境变量TNS_ADMIN = C:\ oracle \ instantclient_12_1 \ NETWORK \ ADMIN

重新启动计算机

第3。 ODBC

32位 C:\的Windows \ Syswow64资料\ odbcad32.exe的

64位 C:\ Windows \ System32下\ odbcad32.exe的

添加系统数据源

在Instantclient_12_1&#34;

中,驱动程序是&#34; Oracle

<强> 4。连接

DSN =(数据来源名称); Uid =(用户); Pwd =(密码);

请试一试。