2015-09-15 31 views
0

让我通过声明说我完全不知道我在设置或连接到Oracle数据库方面做了什么。我知道SQL语法,但我从来不必担心自己的连接。如何在Windows 7中为Oracle数据库设置DSN?

我的最终目标是使用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。我试着用XE中的MySQL,Oracle和SQL Server驱动程序创建DSN,并使用上面列出的每个连接细节组合,这是合理的。我每次都失败了。我是否在谈论这个错误?有没有一套简单的指令可以用来设置DSN,还是有办法解决这个问题,同时仍然可以访问R中的数据库?任何帮助将不胜感激。

+0

win7上的odbc连接严重不直观。win7有两个odbc管理员 - 32位和64位。你必须确保你使用的是正确的。这超级用户帖子有更多:http://superuser.com/questions/419832/how-can-i-open-the-32-bit-odbc-data-source-administrator-in-windows-7-64-bit –

+0

我认为这可能帮助我解决了部分问题 - 我看到很多新的驱动程序可供选择。我应该选择什么想法?我曾想过的一个例子是Oracle的Microsoft ODBC,它给了我一个错误消息,指出组件未安装。 –

+0

对不起,这超出了我的经验。 –

回答

1

1.安装即时客户端(基本+ 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中

添加TNS配置在tnsnames.ora中

添加系统环境变量TNS_ADMIN = C: \ ORACLE \ instantclient_12_1 \网络\ ADMIN

重新启动计算机

3. ODBC

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

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

添加系统数据源

驱动是 “甲骨文在instantclient_12_1”

4.连接

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

请试试这个。

+0

这样做 - 非常感谢你! –