Sql-Server-2005

從 SQL Server 2005 到應用程序的 XML 網路呼叫

  • April 10, 2014

我們這裡沒有真正的 DBA,只有半經驗的 SQL 開發人員和我。我自己只有大約一年的經驗,我們是我們小企業的唯一程序員。

我們正在嘗試將票務系統集成到我們的計費軟體中,其中包含一組儲存過程和作業,這將幫助我們每天自動確定是否需要更改帳戶狀態,以便我們的技術支持部門知道對其進行調查.

另一位開發人員要求我將 SSIS 作為一種導出 XML 文件並呼叫計費軟體的方法,但我不相信我們走在正確的軌道上。計費軟體的 API 確實支持 XML 呼叫,但我們需要能夠從 SQL Server 向 API 的正確埠進行網路呼叫。兩者都在同一台伺服器上,並且具有存在於同一數據庫中的表。我們正在嘗試通過 API,因為我們擔心允許主數據庫對極其複雜的計費數據庫進行更改,因為它可能會導致無法預料的問題並且不會正確更新計費軟體的內部跟踪系統。

有沒有辦法從 SQL Server 進行 XML API 網路呼叫?如果沒有,是否有一種解決方法可以讓我們像這樣通過 API?

TuCows 將計費軟體稱為 Platypus,但我懷疑是否有人熟悉它,並且該伺服器目前正在執行 SQL Server 2005,儘管我們將在一個月左右實施 2012。

非常感謝您的寶貴時間!

因此,一種可能的方法是編寫您的 SQL Server 查詢以輸出您想要發送的數據的 XML 字元串,使用FOR XML.

然後,您可以創建一個 SSIS 包並使用數據流任務將 XML 保存到 XML 文件,這意味著您正在記錄所有導出的內容。

在數據流任務成功之後,腳本任務可以執行 API 呼叫。您將編寫標準 C#,獲取文件並呼叫 API 方法。然後,您將使用任務結果變數根據 API 的響應返回成功/失敗。

但是,您說您更像是 C# 開發人員,那麼為什麼不編寫一個獨立的應用程序來完成這一切呢?它會比 SSIS 更強大!

更新

SSIS 中實際上有一個Web 服務任務,顯然可以滿足您的要求。但是,我相信如果您更喜歡使用 C# 進行開發,那麼您應該採用這種方法。

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