2017-06-20 3 views
1

SQLとRの使用に関するチュートリアルをいくつか行っていますが、 'ggplot'ライブラリを取得するためにRスクリプトを実行しようとしているときに、次のエラーが表示されますRを持つSQL 2016 - エラーHRESULT 0x80004004

Msg 39004, Level 16, State 20, Line 1 
A 'R' script error occurred during execution of 'sp_execute_external_script' with HRESULT 0x80004004. 
Msg 39019, Level 16, State 1, Line 1 
An external script error occurred: 
Error in library("ggplot2") : there is no package called 'ggplot2' 
Calls: source -> withVisible -> eval -> eval -> library 

Error in ScaleR. Check the output for more information. 
Error in eval(expr, envir, enclos) : 
Error in ScaleR. Check the output for more information. 
Calls: source -> withVisible -> eval -> eval -> .Call 
Execution halted 

(0 row(s) affected) 

オリジナルのスクリプトは、システムがRとの統合は、Visual Studio 2015でうまく動作し、エラーがないSQL 2016、SSMS 2017、MS Rオープン3.4.0 を持って

INSERT INTO chartBinary (binData) 
EXEC sp_execute_external_script 
@language = N'R', 
@script = N' 
library("ggplot2"); 
img <- inputDataSet; 
image_file = tempfile(); 
png(filename = image_file, width=800, height=600); 
print(ggplot(img, aes(x = AirportID, y = WindSpeed)) + 
labs(x = "Airport ID", y = "Wind Speed") + 
theme(axis.text.x = element_text(angle=90, hjust=1, vjust=0)) + 
geom_point(stat = "identity") + 
geom_smooth(method = "loess", aes(group = 1)) + 
geom_text(aes(label = AirportID), size = 3, vjust = 1.0) + 
geom_text(aes(label = round(WindSpeed, digits = 2)), size = 3, vjust = 2.0)); 
dev.off(); 
OutputDataset <- data.frame(data=readBin(file(image_file,"rb"),what=raw(),n=1e6));', 
@input_data_1 = N'SELECT AirportID, AVG(CONVERT(float, WindSpeed)) as WindSpeed 
FROM 
[Weather_Sample] GROUP BY AirportID ORDER BY AirportID;', 
@input_data_1_name = N'inputDataSet', 
@output_data_1_name = N'OutputDataset'; 

です。ライブラリパッケージをダウンロードし、エラーなしでスクリプトを実行できます。 SMSSを使用してパッケージをダウンロードできない場合のみ、

答えて

0

セキュリティ上の理由から、制限付きの別のアカウントを使用してRスクリプトを実行します。特に、これは自分のユーザーアカウントと同じではありません。したがって、あなたのユーザディレクトリの下にあなたのパッケージをインストールした場合、スクリプトはそれらを見つけることができません。

パッケージは、グローバルに読み取り可能な別個のディレクトリ(たとえば、c:\Rlib)にパッケージをインストールすることです。その後、コールの前に.libPaths("c:\\Rlib")を追加してスクリプトをその場所に向けます。

+0

こんにちは香港、多くの感謝。許可の問題でした。 RのデフォルトインストールはSQLディレクトリ内にあり、書き込み権限は無効になっています – Stevieb143

1

SQL Serverインスタンスにggplot2パッケージをインストールする必要があります。 利用できないRパッケージをSQL Serverインスタンスにインストールするには、さまざまな方法があります。

あなたは、あなたのセットアップに応じて適した方法を選択します。

ローカルマシンで作業している場合は、パッケージのWindowsバイナリ(zipファイル)をダウンロードし、T-SQLを使用してインストールすることをお勧めします。ここ

チェック: Install additional R packages on SQL Server

関連する問題