RTVS: Visual Studio не распознает пакеты R при выполнении в качестве хранимой процедуры SQL Server. - PullRequest
0 голосов
/ 14 сентября 2018

Я пытался создать хранимую процедуру SQL Server, содержащую код R. Я использовал RTVS - R Tools для Microsoft Visual Studio 2015.

Проблема в том, что Visual Studio не распознает установленные мной пакеты R, кроме «Base R». Например, «dplyr», я получил это сообщение об ошибке при выполнении процедуры:

Ошибка скрипта 'R' во время исполнения скрипта sp_execute_external_script ...
Произошла внешняя ошибка скрипта:
Ошибка в библиотеке (dplyr): нет пакета с именем 'dplyr'
Вызовы: source -> withVisible -> eval -> eval -> library ...

Но я почти уверен, что dplyr установлен и работает нормально. На всякий случай я впервые так и сделал:

EXEC sp_execute_external_script @language = N'R',
@script = N' print(normalizePath(R.home())); print(.libPaths());';

и нашел место, где находятся R-пакеты. Затем я вручную переустановил пакет 'dplyr':

lib.SQL <- "C:\\Program Files\\Microsoft SQL Server\\MSSQL13.MSSQLSERVER\\R_SERVICES\\library"
install.packages("dplyr", lib = lib.SQL)

И я перезапустил VS, переиздал эту хранимую процедуру SQL Server с R, выполнил ее, получил ту же ошибку.

Фактически, я могу вручную запустить код R с функциональностью 'dplyr' в Visual Studio и заставить его нормально взаимодействовать с базами данных SQL Server. Я просто не могу опубликовать все это как хранимую процедуру, а затем выполнить ее.

Я искал буквально везде, но пока не нашел решения. Любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 08 мая 2019

Я фактически решил проблему, переустановив пакеты R с помощью командной строки на каждом сервере. Просто хочу опубликовать это здесь, чтобы другие могли видеть.

...