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.

有什么方法可以更清楚地了解错误信息,代码似乎是正确的。错误信息是如此笼统,我无法弄清楚我做错了什么。

我的存储过程返回一个简单的选择,一行。

谢谢

4

1 回答 1

0

原来它运行在一个approle上,结果如下:

对象“thisTable”、数据库“thisDatabase”、模式“dbo”的 SELECT 权限被拒绝。

已修复,谢谢。

于 2013-05-30T17:45:33.893 回答