1

使用 ADO.NET 调用运行存储过程IDbCommand.ExecuteReader(SchemaOnly),如果存储过程使用临时表,则会引发异常。例外是 " Invalid object name '#tempPCBBHolidays'."(这是表的名称)。

所以...

CommandBehavior.SchemaOnly对存储过程使用一个坏主意吗?如果是这样,当我只需要元数据时,我应该改用元数据CommandBehavior.SingleRow吗?

或者我应该把调用放在 try/catch 中,并且只在异常切换到SingleRow? (这是针对我们发布的 SQL 工具,所以我不知道会调用什么存储过程。)

还是有另一种更好的方法?

谢谢 - 戴夫

4

1 回答 1

0

根据 MSDN 论坛,这是 Sql Server 的一个已知问题。解决方案是再次调用请求 SingleRow。

于 2017-08-15T16:40:08.367 回答