1

SQL に対して単純なクエリを実行しましたが、正しく動作していないようです。

 DataTable loDTDOffre = new DataTable();
 SqlCommand loSQLCommand = new SqlCommand("dbo.SP_StoredProc", loConnectionBD.ConnectionSql);
 loSQLCommand.CommandType = CommandType.StoredProcedure;

 loSQLCommand.Parameters.Add("@liNoUnit", SqlDbType.Int);
 loSQLCommand.Parameters["@liNoUnit"].Value = noUniteProduction;

 SqlDataAdapter loSqlDataAdapter = new SqlDataAdapter(loSQLCommand);

 loSqlDataAdapter.SelectCommand = loSQLCommand;
 loSqlDataAdapter.Fill(loDTDOffre);

データベース接続は開いています。SQL Management Studio で実行されたストアド プロシージャは正常に動作します。VS2010でエラーメッセージとして表示されるのは次のとおりです。

Warning: Fatal error 50000 occurred at May 30 2013 11:17AM. Note the error and time, and contact your system administrator.
Process ID 59 has raised user error 50000, severity 20. SQL Server is terminating this process.

何が間違っているかをより明確に伝える方法はありますか?コードは正しいようです。エラーメッセージは非常に一般的で、何が間違っているのかわかりません。

私のストアド プロシージャは、1 行の単純な選択を返します。

ありがとう

4

1 に答える 1

0

Approleで実行されることがわかりました。これが出てきました:

オブジェクト 'thisTable'、データベース 'thisDatabase'、スキーマ 'dbo' に対する SELECT 権限が拒否されました。

修正しました、ありがとう。

于 2013-05-30T17:45:33.893 に答える