西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁編程開發(fā)C#.NET → C#開發(fā)中SQL Server數(shù)據(jù)庫與Oracle數(shù)據(jù)交互操作解決方案

C#開發(fā)中SQL Server數(shù)據(jù)庫與Oracle數(shù)據(jù)交互操作解決方案

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2013/4/4 21:38:12字體大小:A-A+

作者:西西點擊:0次評論:1次標(biāo)簽: Oracle

  • 類型:數(shù)據(jù)庫類大。42.1M語言:中文 評分:5.0
  • 標(biāo)簽:
立即下載

一般我們使用C#開發(fā)時,往往選擇sql server數(shù)據(jù)庫與之配合使用,因為使用起來最方便。

但如果我們需要和第三方廠商的軟件進(jìn)行數(shù)據(jù)交互時,就有可能碰到對方使用Oracle數(shù)據(jù)庫,并且在某些特定情況下還只能把數(shù)據(jù)交互的接口放到Oracle上,這時候我們就需要訪問Oracle數(shù)據(jù)庫了。

針對這種情況,我們有兩種訪問方案:

直接在軟件中增加對Oracle數(shù)據(jù)庫的讀寫操作

在SQL Server數(shù)據(jù)庫中建立鏈接服務(wù)器,并通過同義詞把接口表當(dāng)做本地表來訪問

由于訪問Oracle時必須安裝Oracle客戶端,對于方案1來說,不僅需要針對Oracle開發(fā)對應(yīng)的訪問代碼,還需要在每臺安裝軟件的電腦上裝上Oracle客戶端,這對軟件的部署帶來了很大的壓力(B/S架構(gòu)除外);而方案2則僅僅需要在SQL Server所在的電腦上安裝Oracle客戶端即可。

而對于訪問Oracle數(shù)據(jù)庫的性能和靈活性來說,方案1既可以較快的速度訪問,也能使用事務(wù)、內(nèi)置函數(shù)等一系列Oracle所擁有的功能;而方案2的訪問速度很慢,也不能使用事務(wù)。

作為數(shù)據(jù)交互接口,我們估計其訪問的數(shù)據(jù)量很小,對性能的要求也不高,所用的操作也就普通的增刪改查,不會用到Oracle特有的東西。綜合上面的對比分析,再考慮效率,覺得方案2比較適合。

下面以方案2為例說明一下配置的過程:

1、安裝Oracle客戶端

先到Oracle的官網(wǎng)上下載適用于Windows的Oracle Data Access Components(ODAC),這里使用ODAC112030Xcopy_x64.zip(如果系統(tǒng)不是64位的請選擇32位的版本,如ODAC112030Xcopy_32bit.zip)。

解壓并在命令行界面進(jìn)入解壓文件夾,運行“install.bat oledb c:\oracle odac”安裝(我們只需要oledb的驅(qū)動,并把對應(yīng)的文件安裝到C盤oracle目錄下。注意其中的空格)。

 

在環(huán)境變量中為Path添加“C:\oracle;C:\oracle\bin;”到開頭。

 

2、在SQL Server添加鏈接服務(wù)器

在SQL Server Management Studio中連接到數(shù)據(jù)庫,并在其下的“服務(wù)器對象”-“鏈接服務(wù)器”,右鍵選擇“新建鏈接服務(wù)器”。

 

在常規(guī)中填入鏈接服務(wù)器名稱:SWAPDB、訪問接口:Oracle Provider for OLE DB、產(chǎn)品名稱:oracle、數(shù)據(jù)源:(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = ORACLEDB)))

其中鏈接服務(wù)器名稱在建立同義詞的時候用到,產(chǎn)品名稱可以隨便填,數(shù)據(jù)源中的HOST和SERVICE_NAME改為自己所使用Oracle接口的對應(yīng)地址與數(shù)據(jù)庫名稱。

 

在安全性中選擇“使用此安全上下文建立連接”,填入Oracle數(shù)據(jù)庫所用的登陸賬號/密碼,點擊“確定”建立鏈接。

 

在“服務(wù)器對象”-“鏈接服務(wù)器”-“訪問接口”-“OraOLEDB.Oracle”,右鍵選擇“屬性”。

 

啟用“允許進(jìn)程內(nèi)”的接口選項。

 

建立鏈接服務(wù)器后可以通過“服務(wù)器對象”-“鏈接服務(wù)器”-“SWAPDB”,右鍵“測試連接”查看是否成功。

 

3、在數(shù)據(jù)庫中創(chuàng)建同義詞

在對應(yīng)數(shù)據(jù)庫的查詢窗口中執(zhí)行“CREATE SYNONYM [dbo].[T_User] FOR [SWAPDB]..[ORAUSER].[T_User]”,這里只能用SQL語句建立同義詞,使用圖形界面將出錯,其中T_User是表名稱,SWAPDB是剛才創(chuàng)建的鏈接服務(wù)器名稱,ORAUSER是Oracle數(shù)據(jù)庫的用戶。

配置完成后,我們就可以在SQL Server中直接使用“select * from T_User”訪問遠(yuǎn)程Oracle的接口表了

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(1)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)