【发布时间】:2017-01-18 14:42:45
【问题描述】:
我正在尝试使用 ROracle 连接到 Oracle。我可以从终端(在 Linux 上)使用 Sql*Plus,但在 R 中使用以下代码:
library(ROracle)
drv <- dbDriver("Oracle")
我得到错误:
Error in .oci.Driver(.oci.drv(), interruptible = interruptible, unicode_as_utf8 = unicode_as_utf8, :
Error while trying to retrieve text for error ORA-01804
我使用的是 RStudio 3.2.5 版。
我与 Oracle 数据库的连接是本地连接。我的环境变量已永久设置在配置文件中,因此不必再次明确设置它们。但是,为了安全起见,我确实再次明确设置了它们:
Sys.setenv()
不出所料,这没有帮助。
我什至不确定从哪里开始,所以任何指针都将不胜感激。提前谢谢!
**编辑:我也知道 ORA-01804 错误与时区读取问题有关。所以,我尝试设置
NLS_LANG=en_US.UTF8
在启动 SQL*Plus 并执行之后
!echo $LANG
这给了我 NLS_LANG 参数。这现在给了我 ORA-12715 错误:
ORA-12715:invalid character set specified
这表明 NLS_LANG 参数不正确。我尝试过使用各种不同的 UTF-8、en、US、American、America、English 等组合,但似乎都不起作用!
【问题讨论】:
标签: r linux database oracle roracle