连接到R中的Oracle数据库以运行SQL查询

连接到R中的Oracle数据库以运行SQL查询,r,database,oracle,package,R,Database,Oracle,Package,我正在尝试连接到R中的Oracle数据库。在Python中,我只需使用cx\u Oracle包,就可以使用以下代码轻松连接和运行查询: my_dsn = cx_Oracle.makedsn("host",port,sid="sid") connection = cx_Oracle.connect(user="user", password="password", dsn=my_dsn) cursor = connection.cursor() querystring = "SQL query"

我正在尝试连接到R中的Oracle数据库。在Python中,我只需使用
cx\u Oracle
包,就可以使用以下代码轻松连接和运行查询:

my_dsn = cx_Oracle.makedsn("host",port,sid="sid")
connection = cx_Oracle.connect(user="user", password="password", dsn=my_dsn)
cursor = connection.cursor()

querystring = "SQL query"
cursor.execute(querystring)

R中是否有同等的软件包可供使用?如果是这样的话,那是什么?我如何设置连接到Oracle数据库并运行查询的方位--将结果保存到data.frame中?我需要能够构建一个DSN,正如我在上面的代码中所做的那样。谢谢大家!

Python cx_Oracle的ROracle等价物:

my_dsn = cx_Oracle.makedsn("host",port,sid="sid")
connection = cx_Oracle.connect(user="user", password="password", dsn=my_dsn)
是:


connect.string不幸的是,这个问题是专门提出的,所以很可能会被关闭。快速搜索在和上找到了
ROracle
的条目。您也可以考虑其中一个ODBC变体,或者,谢谢您的包名!不幸的是,我在文档中没有看到如何创建DSN;看起来这两个软件包都希望您已经知道DSN是什么。是否有一种方法可以创建DSN,正如我在问题中发布的代码中所述?DSN的创建将完全独立于R包本身。然而,其中一些包在文档中描述了如何设置dsn,尽管他询问是否可以执行Python的
querystring
之类的查询。您确认这在
ROracle
中不可能吗?非常感谢。
connect.string <- paste(
  "(DESCRIPTION=",
  "(ADDRESS=(PROTOCOL=tcp)(HOST=", host, ")(PORT=", port, "))",
  "(CONNECT_DATA=(SID=", sid, ")))", sep = "")
con <- dbConnect(drv, username = "user", password = "password", 
                 dbname = connect.string)