Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ROracle在.oci.fetch(res,as.integer(n))中生成错误:ORA-01805:_R_Roracle - Fatal编程技术网

使用ROracle在.oci.fetch(res,as.integer(n))中生成错误:ORA-01805:

使用ROracle在.oci.fetch(res,as.integer(n))中生成错误:ORA-01805:,r,roracle,R,Roracle,我使用ROracle增强从Oracle到R的数据读取。 PC和操作系统规格:i5、8Gb、Win7 64位、Oracle 12c客户机64位、R 64位、3.2.2、Rstudio 当前代码原样: >install.packages('ROracle_1.1-12.zip', repos = NULL) >library('ROracle') >drv <- dbDriver("Oracle") >con <- dbConnect(drv, "USER", "

我使用ROracle增强从Oracle到R的数据读取。 PC和操作系统规格:i5、8Gb、Win7 64位、Oracle 12c客户机64位、R 64位、3.2.2、Rstudio

当前代码原样:

>install.packages('ROracle_1.1-12.zip', repos = NULL)
>library('ROracle')
>drv <- dbDriver("Oracle")
>con <- dbConnect(drv, "USER", "PASSWORD", dbname='DB')
>x<-dbSendQuery(con, "SELECT * FROM MY_TABLE")
>y<-fetch(x)
但出现了一些错误:

.oci.fetchres中的错误,as.integern:ORA-01805:

关键是错误不是永久性的。有时出现,有时不出现,脚本运行正常。
我将非常感谢您在这种情况下的帮助。

可能您有不同的TZ服务器\客户端尝试

dbGetQuerycon,从dual中选择SESSIONTIMEZONE和DBTIMEZONE

SESSIONTIMEZONE数据库时区

1+03:00+04:00

如果有不同的值,请更改TZ

dbSendQuery(con,"ALTER SESSION SET TIME_ZONE = '+4:0'")
dbCommit(conn = con)

dbGetQuery(con,"SELECT SESSIONTIMEZONE,DBTIMEZONE FROM dual")
SESSIONTIMEZONE数据库时区

1+04:00+04:00


可能它可以帮助您

我在DB administrator的帮助下,通过将oracle客户端重新安装到当前服务器的最新版本(相同64位),解决了这个问题。并设置最新版本的ROracle软件包如何安装ROracle请参阅gist.github.com/jgilfillan/7b0281067ed9feb4a71c。fetch还需要其他参数来获取非所有行。我认为,如果您的get all表简单地使用dbGetQuery,可能是要获取的行号有问题,也可能是时区或日期时间格式有问题,考虑到日期时间格式,我在初始记录中有类似2014年12月15日00:00:00的记录。但ROracle于2014年12月15日02:00:00进口。你知道如何解决这样的矛盾吗?试图应用提供的脚本,但没有帮助。好吧,如果我正在编写非日期字段的脚本,那么一切似乎都正常。但错误是由包含数据的字段生成的。是否值得与数据库管理员交谈以优化我的oracle客户端?是的,可能是,我的oracle客户端在配置方面也有相同的问题。我在数据库管理员的帮助下,通过将oracle客户端重新安装到最新版本来解决此问题。并设置最新版本的ROracle软件包如何安装ROracle请参阅详细信息。