1

リンクサーバーはopenrowsetクエリを送信するのが簡単ではないため、SQLCMDモードを介してリモートSqlサーバーに直接接続します。しかし、これは Query Analyzer を使用すると問題ありません。コードをストアドプロシージャに入れると、保存することさえできません:

:Connect x.x.x.x -U sa -P password
select *
from  openrowset('VFPOLEDB','\\share\db\s_object.dbf';'';
    '','SELECT *  FROM s_object where i_class=21 order by 1')  

「:」付近の構文が正しくありません。

4

1 に答える 1

2

sqlcmd モードが有効な場合、sqlcmd モード:connectの構文は SSMS および QA で有効ですが、常にクライアント側のコマンドであり、SSMS または QA 自体によって実行され、エンジンに送信されることはありません。そのため、ストアド プロシージャのようにサーバー側モジュールに埋め込むことはできません。あなたが本当にストアドプロシージャを意味するなら、構文エラーは不思議ではありません...

于 2013-05-27T19:59:37.427 に答える