Sql-Server

在執行查詢之前驗證 openquery 連接是否打開的行業標準方法是什麼?

  • September 9, 2011

我是一名程序員,但這個問題更具體地與數據庫相關,所以我將它發佈在這個社區中。它也可以很好地跨入stackoverflow。

我正在尋找一種經過批准的行業標準方法來驗證 openquery 連接是否正確連接並在繼續執行查詢之前做出適當的響應。適用於我的環境很高興知道是否有特定的答案,但我也在尋找一種通用方法,如果有一種方法可以讓其他人和我自己從中受益。我這裡的環境在 openquery 中使用 Microsoft SQL 2005 和 Oracle。

在一篇部落格中發現了這篇文章,它展示瞭如何做到這一點,但我不確定是否有更有效的方法可以實現相同的結果並且沒有錯誤指示或失敗。

對於 SQL Server 中的連結伺服器…

SELECT @@SERVERNAME在包含BEGIN TRY/CATCH塊的儲存過程中執行一個或一些此類。

  • 儲存過程限制範圍以防萬一它失敗和重複使用
  • TRY/CATCH 是為了抑制呼叫查詢的任何錯誤
  • 儲存過程使用輸出參數

對於 Oracle,具有數據庫連結select * from dual@dblink,再次按照 gbn 的答案進行適當的錯誤處理。

我認為您不會找到一個適用於 SQL Server 和 Oracle 的 SQL 語句。

引用自:https://dba.stackexchange.com/questions/5529