Oracleストアドプロシージャに情報を送信する必要があるSQL Serverストアドプロシージャがあります。SQLストアドプロシージャからOracleストアドプロシージャを実行
どうすれば設定できますか?それはリンクサーバーですか?そして、ストアドプロシージャを渡して実行するコードをどのように記述すればよいですか?
Oracleストアドプロシージャに情報を送信する必要があるSQL Serverストアドプロシージャがあります。SQLストアドプロシージャからOracleストアドプロシージャを実行
どうすれば設定できますか?それはリンクサーバーですか?そして、ストアドプロシージャを渡して実行するコードをどのように記述すればよいですか?
私はMicrosoftのCLRを使用して、サーバ間で押された変数を処理するために私自身の小さなC#アプリケーションを書くためになってしまったが判明します。ここに私がやったことだ:
これは、私はおそらく最初からしようと構文は次のとおりです。
SELECT * FROM OPENQUERY(<linked server name>, '{CALL <oracle sp>}')
私が見てきたどのような(私はこれを自分で試していません)あなたはまた、どのOracle関数を呼び出すためにOPENQUERY
を使用することができるということですストアドプロシージャを呼び出すか、ストアドプロシージャを関数に変換することができます。 SQL Serverからの接続は次のようになります:
SELECT * FROM OPENQUERY(<linked server name>, 'SELECT <oracle function> FROM dual')
ます。また、使用することができます
DECLARE @outputParameter int
EXEC ('BEGIN <procedureName>(?,?); END;', @inputParameter , @outputParameter OUTPUT) at <linkedServerName>
これはキャップを許可出力パラメータのチューニング
Oracleサーバーの「TestingProcedure」プロシージャ。
SQL Serverのリンクサーバー "LinkedServer"。 SQLサーバーの例では
コールTestingProcedure:
EXECUTE ('begin TestingProcedure; end;') AT LinkedServer;
あなたは** SQL **(クエリ言語構造化)と言うが、あなたは本当に** SQL Serverの**(マイクロソフトのリレーショナル・データベース・システム)を意味する - 右の?? OracleはSQLも使用しています。また、IBM DB2、Informix、Firebird、MySQLも同様です。 –
右のSQL Server(私はあなたがそれを編集したと仮定しています): – Miles
私はあなたの投稿をそれに応じて更新しました。 –