2017-11-12 13 views
0

Rからプロシージャを実行すると、実行中にプロシージャが停止します。しかし、SQL Serverから直接実行すると、実行が完了します。いくつかの発言実行時に完了しなかったSQL ServerプロシージャR

connection<-odbcDriverConnect("SERVER=server_name;DRIVER={SQL Server};DATABASE=DB;UID=RUser;PWD=****") 
stringEXEC<-"EXEC [dbo].[LongProcedure]" 
data<-sqlQuery(channel = connection,query = stringEXEC,errors = TRUE) 

  • 手順は12の別の方法を求めている。ここ

    コード(表示する多くはありません)です。 12個のテーブルのそれぞれが特定のテーブルを作成しています(これは質問でここに印刷するために非常に長いクエリです)。

そしてエラーはありません。

どうしてですか?

+0

、エラー何、一つはありますか?何もない場合、データの価値は何ですか?どんなクエリでも起こりますか?問題を詳しく説明するために編集してください。 –

+0

@Moody_Mudskipper ok、ありがとう! –

+0

*実行中*が発生する場所を慎重に確認してください。そこにセミコロンが置かれていますか?あなたは 'BEGIN ... END'に全体の呼び出しをラッピングしていますか?あなたは 'SET NOCOUNT ON'を持っていますか? TSQLが実際に役立つことを確認する必要があります。メインストアドプロシージャ(他の12個ではないもの)をここに、またはGithub Gistsまたはpastebinと一緒に投稿してみてください。 – Parfait

答えて

0

同様の問題が発生しました。現在、ストアドプロシージャではなくRからのみSELECT文を実行できます。

R-Studioで作業したい場合は、ストアドプロシージャの結果をSQL Serverのテーブルに最初に実行し、次にそのテーブルをRで使用することをお勧めします。その計算コンテキストではスケーラビリティのメリットが得られます。クエリ何

Passing T-SQL select statement to sp_execute_external_script

関連する問題