如何从R连接到Oracle 11g,ODBC不起作用...(我有uid,sid,host,pwd)

时间:2012-07-04 16:57:43

标签: oracle r

我正在使用Oracle SQL开发人员做一些工作:将数据提取到CSV文件然后分析R中的数据。我想自动执行此操作,使用R执行查询和分析。 我使用R连接到其他数据库:SQL服务器,MySQL,Postgres,但我发现将它连接到Oracle有很多复杂性。

所以,我想在Windows中从R连接到Oracle 11g数据库。我试过RODBC,但首先我必须按照这个说明设置ODBC:

How do I connect to an Oracle Database in R?

DBA向我提供以下内容:UserId,Password,Host,Port和SID

在“Oracle ODBC Driver Configuration”窗口中,我写了以下内容:

Data Source Name: SID
Description: Oracle ODBC
TNS Service Name: host:port/SID
UserID: UserId

但是我收到了这个错误:

    Unable to connect
    SQLState = S1000
    [Oracle]{ODBC][Ora]ORA-12514: TSN:listener does not currently know of service   
    requested in connect descriptor

所以,我的问题是:如何从R连接到Oracle?还有另外一种方法吗?我做错了什么?

提前致谢...

1 个答案:

答案 0 :(得分:1)

我经常在工作时使用RODBC连接到Oracle。使用Windows,我在从R内部连接之前设置了与DB的ODBC连接。这允许您首先检查连接。

完成所有设置之后,我会用这样的命令连接:

ch <- odbcConnect("SAVED_ODBC_NAME_HERE", "USER", "PWD")

这将创建Oracle数据库的通道。

希望有所帮助