簡體   English   中英

.NET報告同時從MSSQL和Oracle獲取數據

[英].NET report getting data from both MSSQL and Oracle

我們正在使用SQL Server 2016和Oracle 11g(在升級到Oracle 12c的過程中)。 我不是.NET開發人員; 因此,示例將非常有幫助。

我們的開發人員正在嘗試結合MSSSQL(內部應用程序)和Oracle(ERP系統)中的數據,以在.NET中創建報告(因此只需從這兩個數據庫中讀取)。 開發人員堅決需要在托管MSSQL的服務器上安裝Oracle客戶端。

從安全性角度(表面積暴露)出發,我們鼓勵盡可能減少表面積暴露。 我在這個博客上找到了一種可能的方法。 這個博客似乎建議創建一個函數作為連接字符串。

問題:

  1. .NET(數組等)中是否沒有選項將來自MSSQL和/或Oracle的數據保存在內存中,以便與另一個數據庫進行比較(使用員工ID)?
  2. 由於這只是讀取,因此在服務器上安裝完整的Oracle客戶端是否過大?
  3. 如果您需要從兩個數據庫中提取數據,專家在這里怎么樣?

謝謝。

在某個時候,一台計算機將必須具有Oracle客戶端。 沒有它,我不知道連接Oracle的方法。

我可以想到兩種方法來做到這一點。 您可以直接在SQLServer中鏈接Oracle表 我想您可以然后使用SQLServer方言查詢Oracle表。 我敢肯定這樣做會降低性能,特別是如果跨RDBMSes加入。

第二種選擇是在SQLServer上具有某種表,該表具有Oracle數據的副本。 根據有多少數據或是否保留數據,它可能比通過聯接查詢鏈接表要快。 它可以是永久表或臨時表。 您仍然需要查詢Oracle計算機,並根據需要或按計划完成。

如果數據很少,則可能甚至不需要表。

您還可以使用另一台計算機執行Oracle DB查詢,並將數據移至SQLServer。 您不需要在SQLServer上使用Oracle客戶端,而在該計算機上則需要。

我將研究構建在與MSSQL服務器不同的服務器上運行的Windows服務,該服務將利用托管Oracle客戶端按計划從Oracle到MSSQL服務器的ETL數據,以使您的.NET報告可以從一個位置訪問報告數據,即您的MSSQL服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM