在我的SP中,我混合使用静态SQL和动态SQL:
declare @result table
(
RowNum bigint,
Id_and_Title varchar(max),
DaysLeft int,
cat_id int
);
然后,在动态SQL中,将结果插入到该表中:
DECLARE @TSQL NVARCHAR(max);
SET @TSQL = ......
(我使用
print @TSQL
,因此我确定查询正常)insert into @result
EXECUTE sp_executesql @TSQL
select * from @result
但是,当我尝试在VS 2010 Ultimate中导入taht SP时,会看到标题中提到的消息。是什么原因造成的?很多次我都发生了该错误,但我仍然不知道是什么原因导致的
最佳答案
尝试将以下行添加到存储过程的开头:SET FMTONLY OFF
导入完成后,可以将其删除。
它在this article中提到了(很长一段路要走),它对我有用,尽管在我高度依赖存储过程的时代,我最终回到了ADO.NET。请记住,如果您的列根据动态SQL更改,则实体模型将中断。