2017-07-07 3 views
1

Ich habe SQL Server gespeicherte Prozeduren geschrieben mit R-Funktionen. Alle arbeiten ohne Problem von Sql Server Management Studio mit einer Ausnahme.Sql Server Gespeicherte Prozedur Aufruf saisonale Paket in R

Ich möchte das saisonale Paket verwenden, aber der Code in Sql Server Management Studio schlägt fehl. Derselbe Code funktioniert absolut gut in R (C: \ Programme \ Microsoft SQL Server \ MSSQL 13.SQLEXPRESS \ R_SERVICES \ bin).

Sys.setenv("X13_PATH" = "C:/Program Files/Microsoft SQL Server/MSSQL13.SQLEXPRESS/R_SERVICES/library/x13binary/bin"); 
require(seasonal); 
seasonal::checkX13() 

(Ich habe die X13_PATH hier enthalten, wie es für die SQL Server-R notwendig ist, zu arbeiten - es ist nicht erforderlich, wenn von meinem Desktop R laufen).

Die Fehlermeldung angezeigt wird:

STDERR message(s) from external script: 
Loading required package: seasonal 
X-13 installation test: 
    - X13_PATH correctly specified 
    - binary executable file found 
    - command line test run successful 
    - command line test produced HTML output 

Error : seasonal test run failed, with the message: 
Error : X-13 has run but produced no data 

Error details: 
    - X13_PATH:   C:/Program Files/Microsoft SQL Server/MSSQL13.SQLEXPRESS/R_SERVICES/library/x13binary/bin 
    - Full binary path: "C:/Program Files/Microsoft SQL Server/MSSQL13.SQLEXPRESS/R_SERVICES/library/x13binary/bin/x13ashtml.exe" 
    - Platform:   x86_64-w64-mingw32 
    - R-Version:  R version 3.2.2 (2015-08-14) 
    - seasonal-Version: 1.1.0 

Genau die gleiche Code läuft von R in dem SQL-Verzeichnis zurückkehrt:

X-13 installation test: 
    - X13_PATH correctly specified 
    - binary executable file found 
    - command line test run successful 
    - command line test produced HTML output 
    - seasonal test run successful 
Congratulations! 'seasonal' should work fine! 

ich Berechtigungen für diese Ordner für Vollzugriff gewährt (für R, für R-Bibliotheksordner, für den X13-Binärordner), in der Hoffnung, dass dies das Problem lösen würde, aber es immer noch fehlschlägt ...

Irgendwelche Ideen, wie Sie das bitte zu lösen?

+0

Ursache: Die Datendatei, die durch Ausführen des externen R-Skripts in SQL Server als temporäre Datei erstellt wurde, hat einen sehr LANGEN Namen. Dieser Pfad wird in der .spc-Datei angegeben, die vom x13ashtml.exe-Prozess gelesen wird und den Grenzwert für den Datendateinamen auf 133 festlegt. –

+0

Erstellen Sie eine symbolische Verknüpfung zum ExtensibilityData-Ordner mklink/dc: \ extensibilitydata- "C: \ Programme \ Microsoft SQL Server \ MSSQL13.MSQLSERVER \ MSSQL \ ExtensibilityData" z mklink /dc:\extensibilitydata-MSSQL13.MSSQLSERVER "C: \ Programme \ Microsoft SQL Server \ MSSQL13.MSSQLSERVER \ MSSQL \ ExtensibilityData" Bearbeiten Sie C: \ Programme \ Microsoft SQL Server \ MSSQL13.MSSQLSERVER \ MSSQL \ Binn \ rlauncher.config, Setzen Sie WORKING_DIRECTORY auf diese neu erstellte symbolische Verbindung. z.B. WORKING_DIRECTORY = C: \ Erweiterbarkeitsdatensatz-MSSQL13.MSSQLSERVER –

+0

Starten Sie den Sql Server Launchpad-Dienst neu. In einer erhöhten Eingabeaufforderung ausführen: net stop mssqllaunchpad & net starten mssqllaunchpad –

Antwort

2

Die Antwort wurde in den obigen Kommentaren eingereicht.

+3

Sie sollten die Antwort in, na ja, Ihre Antwort. Kommentare können nicht garantiert werden. –

Verwandte Themen