我正在尝试使用 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 等组合,但似乎都不起作用!