, как следует из названия, я пытаюсь настроить соединения с БД Oracle через R, используя библиотеку ROracle на Unix-машине.при использовании R в командной строке у меня 0 проблем, но при попытке выполнить ту же самую точную инструкцию в RStudio Server я застрял со следующей ошибкой.
drv <- dbDriver ("Oracle") Ошибка в.oci.Driver (.oci.drv (), interruptible = interruptible, unicode_as_utf8 = unicode_as_utf8,: ошибка при попытке получить текст для ошибки ORA-01804 </p>
это выходные данные libPaths (): вRStudio Server
.libPaths()
[1] "/home/rs_violac/R/x86_64-redhat-linux-gnu-library/3.5"
[2] "/usr/lib64/R/library"
[3] "/usr/share/R/library"
в R (командная строка)
> .libPaths()
[1] "/usr/lib64/R/library" "/usr/share/R/library"
Я установил следующий путь:
и установилLD к файлу oracle.conf общего ресурса, как предложено в другом ответе на stackoverflow
echo "/oracle/app/oracle/product/12.2.0/client/lib" | sudo tee /etc/ld.so.conf.d/oracle.conf
Любая идея или предложение, как решить?
РЕДАКТИРОВАТЬ: я пытался установить переменную enviornments в RStudioконсоль, но без разрешения
Sys.setenv("OCI_INC"="/oracle/app/oracle/product/12.2.0/client")
Sys.setenv("OCI_LIB"="/oracle/app/oracle/product/12.2.0/client/lib")
Sys.setenv("OCI_LIB64"="/oracle/app/oracle/product/12.2.0/client/lib")
Sys.setenv("TNS_ADMIN"="/oracle/app/oracle/product/12.2.0/client/network/admin")
Sys.setenv("LD_LIBRARY_PATH"="/usr/lib64/R/lib::/lib:/usr/lib/jvm/jre/lib/amd64/server:/usr/lib/jvm/jre/lib/amd64:/usr/lib/jvm/java/lib/amd64:/usr/java/packages/lib/amd64:/lib:/usr/lib:/oracle/app/oracle/product/12.2.0/client/lib")
Sys.setenv("ORACLE_HOME"="/oracle/app/oracle/product/12.2.0/client")
Sys.setenv("NLS_LANG"="en_US.UTF-8")
Sys.setenv("ORACLE_BASE"="/oracle/app/oracle")
Sys.setenv("LC_ALL"="en_US.UTF-8")
Теперь ошибка:
Ошибка в .oci.Driver (.oci.drv (), interruptible = interruptible, unicode_as_utf8 = unicode_as_utf8,:ORA-12715: указан неверный набор символов
изменение ошибки инициируется установкой ORACLE_HOME env