4

現在 SQL Server 2008 R2 にあるレガシー データベースを使用して、Visual Studio 2010 内でデータベース プロジェクトを作成しようとしています。いくつかの「オンザフライ」一時テーブル (SELECT * INTO #NewTempTable のようなもの) を使用するストアド プロシージャがいくつかあります。

これらの特定の警告を修正または無視する方法はありますか? 当面の答えは、プロシージャ内で実際に一時テーブルを宣言して列を定義することかもしれませんが、現時点ではそれはオプションではありません。

4

2 に答える 2

1

SET FMTONLY OFFストアド プロシージャを提出します。

MSDN から:

メタデータのみをクライアントに返します。実際にクエリを実行せずに、応答の形式をテストするために使用できます。

あなたの問題は、デフォルトでVisual Studioがこの設定をオンにしていることです...これにより、クエリを実行せずに応答の形式を決定できますが、一時テーブルが使用されている場合、これは機能しません.

この問題に関する MS Connect のディスカッションは次のとおりです。FMTONLY インテリジェンスの改善

Microsoft の回答によると、これは 2012 年に修正されていますが、それ以前のバージョンでは対処されません。

最後に、この問題に関する関連するディスカッションを次に示しFMTONLYます。

于 2012-12-06T17:20:25.583 に答える
1

これは、 SQL Server Data Toolsの一部としてインストールされた VS 2010 用の最新のデータベース プロジェクト タイプでは問題ではないようです。

SQL Server Data Tools をインストールしてみてください。インストール後、ソリューション エクスプローラーでデータベース プロジェクトを右クリックして、データベース プロジェクトを新しい種類にアップグレードできます。(新しいプロジェクト タイプは、SQL 2008 および SQL 2005 と下位互換性があり、いくつかの重要な機能強化も備えています。)

参考までに、新しいプロジェクトの種類には「SQL Server データベース プロジェクト」という非常に一般的な名前が付けられており、「データベース > SQL Server」グループではなく、「SQL Server」テンプレート グループにあります。

于 2012-12-06T18:37:21.083 に答える