5

サーバーをリンクせずに、TSQLのサーバーAからサーバーBのsprocを呼び出したい。このsprocを実行するために接続文字列のようなものを使用することは可能ですか?戻り値は単一のnvarchar値になります。

よろしく。

4

2 に答える 2

11

「リンクされたサーバー」を回避するには、通常はOPENDATASOURCEを使用します

コメントの後:

EXEC OPENDATASOURCE('SQLNCLI', 'Data Source=London\Payroll;Integrated Security=SSPI').remoteDB.remoteSchema.remoteProc @param1, @param2,...

シンプルな 4 つの部分の命名規則。OPENDATASOURCE 全体は、リンクされたサーバー名を単に置き換えます...

注: 「アドホック アクセス」に問題がある可能性があります。

于 2009-10-06T04:02:55.517 に答える
0

私はそれなしでそれを行う方法がないことを知っています...

  1. それを行う拡張ストアド プロシージャを作成する
  2. おそらく xp_cmdshell を使用して、isql を使用してストアド プロシージャを実行します。ただし、結果を取得するのは難しい場合があります (おそらく、isql が読み取っているのと同じ SQL ファイル内の現在のサーバー上のテーブルに結果を書き込みます)。

-ドン

于 2009-10-05T22:48:19.037 に答える