Строка подключения с использованием общей сети из пакетного файла - PullRequest
0 голосов
/ 01 сентября 2018

Я пытаюсь запустить код 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")
...