2012-01-27 13 views
2
私はTSQLとC#を使用してい

およびSQL Server 2005のPetaPocoストアドプロシージャのエラー「『FROM』キーワードの近くに不正な構文。」}

私はオブジェクトのリストとしてデータセットを返すためにPetaPocoを使用しようとしています。これは私が今使っているコードです

私はこのエラーメッセージは、petaPocoが失敗した場合の一般的なSQLエラーと考えています。

最初はパラメタ付きのストアドプロシージャを使用していましたが、@文字で修正された@文字は問題を引き起こしていました。このエラーが発生し始めたので、単純なselect文でストアドプロシージャを作成しました。この手順は、Management Studioで完全に実行されます。

select文でPetaPocoを使用すると、データはダイナミックモデルまたはオブジェクトモデルの両方に完全に細かくマッピングされます。私はガベージSQL文字列を作成し、それは私が一般的なエラーのアイデアを得ている同じエラーを返しました。

これは、目の前でselect句を追加しようとしている

var dynTest = 
       db.Query<dynamic>(
        "SELECT TOP 10 * FROM [BI].[dbo].[Managers] ORDER BY [ConsecutiveDays] desc"); 
+0

PetaPocoに精通していませんが、エラーは "BI EXEC Testprocedureの使用"を1つのクエリとして実行しようとしたことが原因ではありませんか? –

+0

これはManagementスタジオで働いています。私は10種類の異なる方法について質問を言い換えました。それらはすべて管理スタジオで働いていますが、C#コードでは失敗します。 BIデータベースはPetaPocoを使用するときに定義されますが、EXEC [dbo]。[TestProcedure2]も失敗します –

+0

それについては残念です。私はおそらく、Management Studioが2つのクエリにステートメントを分割するほどスマートであると考えました。そうでなければ答えはありません。 –

答えて

2

その微働く私が使用している選択です。
";"クエリの開始時に追加しようとしません。

+0

それは、ありがとう、それを修正しました。 –

+0

EXECの代わりにEXECUTEを使用することもできます。 – Larry

1

PetaPocoはSELECTを実行したいと仮定し、それが含まれていない場合は推論します。

db.EnableAutoSelect = false; 

前、クエリに: は、あなたが使用する必要があります。SELECT自動を行うことを避けるために。

関連する問題