Я пытаюсь запустить код R, запущенный из командного файла. Код R извлекает информацию из базы данных Access, используя функцию odbcDriverConnect
в библиотеке RODBC
. Код R работает, если я запускаю его внутри R, но если я пытаюсь вызвать код из командного файла, код завершается ошибкой.
Проблема, я полагаю, заключается в том, что строка подключения для вызова ODBC указывает на общую сеть, которая не отображается при запуске пакетного файла. Я попытался использовать путь UNC (не поддерживается в пакетных файлах?) И попытался использовать pushd
в пакетном файле для временной привязки нужного мне диска. Ни один из вариантов не сработал успешно. Буду признателен за любую помощь или руководство!
Для простоты в настоящее время пакетный код и код R хранятся на локальном диске C:
, при этом единственный элемент на общем сетевом диске - база данных Access, вызываемая в R.
(Анонимный) код партии и код R скопированы ниже. Спасибо!
Пакетная:
pushd \\Server\Path
"C:\Program Files\R\R-3.4.3\bin\Rscript.exe" "C:\Testing\r_test.R"
R
library(RODBC)
accessDB <- odbcDriverConnect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};
DBQ=Z:/Path/Database.accdb")