繁体   English   中英

SQL数据库项目引用即时临时表

[英]SQL Database Project References to on-the-fly Temp Tables

我正在尝试使用现在在SQL Server 2008 R2上的旧数据库,并在Visual Studio 2010中为它创建一个数据库项目。 有几个存储过程使用了一些“即时”临时表(SELECT * INTO #NewTempTable的类型)显然,这会在数据库项目中引起一些SQL04151引用警告。

有没有办法解决或者只是忽略这些特定的警告? 我知道最直接的答案可能是在过程中实际声明临时表并定义列,但此时,这不是一个选项。

在存储过程中SET FMTONLY OFF

来自MSDN:

仅返回客户端的元数据。 可用于测试响应的格式,而无需实际运行查询。

您的问题是默认情况下Visual Studio启用了此设置...这使得它可以在不运行查询的情况下确定响应的格式,但如果使用临时表,则不起作用。

以下是关于MS Connect的这个问题的讨论: 改进FMTONLY智能

根据微软的回复,这在2012年得到修复,但在早期版本中不会解决。

最后, 这是关于FMTONLY问题的相关讨论

对于作为SQL Server数据工具的一部分安装的VS 2010的最新数据库项目类型,这似乎不是问题。

尝试安装SQL Server数据工具。 安装完成后,您可以通过在解决方案资源管理器中右键单击它来将数据库项目升级到新类型。 (新项目类型向后兼容SQL 2008和SQL 2005,并且还带来了一些重大改进。)

仅供参考,新项目类型具有非常通用的名称“SQL Server数据库项目”,您可以在“SQL Server”模板组中找到它,而不是“数据库> SQL Server”组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM