0

使用Invoke-Expression sqlcmd -i script.sqlすると、返された最初の 2 行のみが表示されるようです。

Query Analyzer で実行すると、次のスクリプトが返されます。

(2 rows affected)
Changed database context to 'ShopStore'.
(5 rows affected)
Changed database context to 'ShopStore'.

ただし、PowerShell からは次の情報しか得られません。

(2 rows affected)
Changed database context to 'ShopStore'.

まだ、すべてが実行されています。これは、結果をいじってみるとわかります。どうしてこれなの?

4

1 に答える 1

0

sqlcmd.exeのドキュメントから:

SQL Server Management Studio は、Microsoft.NET FrameworkSqlClient を使用して、クエリ エディターでの通常モードおよび SQLCMD モードでの実行を行います。コマンド ラインから sqlcmd を実行すると、sqlcmd は OLE DB プロバイダーを使用します。異なる既定のオプションが適用される可能性があるため、SQLCMD モードの SQL Server Management Studio と sqlcmd ユーティリティで同じクエリを実行すると、異なる動作が表示される場合があります。

これが、異なる結果が表示される理由でしょうか??

于 2010-08-22T21:46:38.750 に答える