我爱编程

关于RODBC连接oracle数据库并进行查询的简单介绍

2013-08-13  本文已影响0人  飞翔

如果oracle服务器是32bit的,那么在你的工作电脑上还是装上32bit的oracle客户端吧。

顺便说下如何在64bit的windows系统上如何安装32bit oracle客户端吧。简单说来就是64bit的windows本身并不支持32bit的oracle客户端,需要更改windows版本识别。

我在windows xp下安装了32bit的oracle客户端,然后安装了R 3.0.1及RODBC。配置好后,就可以通过ODBC的方式轻松连上单位的oracle数据库了。这一步实现起来并不难。

在简单的使用当中发生了以下几个比较有意思的意外:

library(RODBC)
channel <- odbcConnect(DSN,uid,pwd)
sql1 <- sqlQuery(channel, 'select * from Table while sampleno='sql'')

错误发生了。

查找了半天然后电话咨询了半天,最后发现了第一个错误:

while

oracle中应该是where

sql1 <- sqlQuery(channel, 'select * from Table where sampleno='sql'')

经历多次修改后发现了问题:

sqlQuery里面的sql语句应该包括在一个双引号里面,而不是一个单引号,在我们日常的R code中单双引号一般都是在混用的,这是我第一次对单双引号的使用产生了谨慎。正确的用法应该是

sql1 <- sqlQuery(channel, "select * from Table while sampleno='sql'")

顺利完成了RODBC通过ODBC连接oracle数据库的第一次。

上一篇下一篇

猜你喜欢

热点阅读