亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SQL Server與Oracle鏈接服務(wù)器應(yīng)用

瀏覽:6日期:2023-11-15 18:22:03
;;;;最近要把.net開(kāi)發(fā)的CMS系統(tǒng)跟Java開(kāi)發(fā)的系統(tǒng)數(shù)據(jù)打通。由于N個(gè)系統(tǒng)用的數(shù)據(jù)庫(kù)有SQL-Server和Oracle兩種,之間的數(shù)據(jù)讀取成了最大的難題。;;;;我預(yù)備了兩種實(shí)行方案,進(jìn)行了技術(shù)驗(yàn)證。方案一:改寫(xiě)底層數(shù)據(jù)層和邏輯層。方案二:把Oracle數(shù)據(jù)做定時(shí)導(dǎo)向,無(wú)需讓Cms做太大的改變。;;;;我做的CMS是基于模板的系統(tǒng)架構(gòu),底層規(guī)則已經(jīng)寫(xiě)得比較死,要改換底層數(shù)據(jù)庫(kù)鏈接或者存在多個(gè)數(shù)據(jù)庫(kù)鏈接簡(jiǎn)直根重寫(xiě)系統(tǒng)沒(méi)有太大的區(qū)別,從開(kāi)發(fā)成本上分析,決定使用第二方案,做數(shù)據(jù)采集工程。;;;;但是Oracle那邊的系統(tǒng)存在N個(gè)庫(kù)(即用戶(hù)),其中的讀取規(guī)則各不相同,要如何開(kāi)發(fā)統(tǒng)一導(dǎo)表程序也是個(gè)大問(wèn)題。其中邏輯非常復(fù)雜。風(fēng)險(xiǎn)難以控制。在想了幾天之后,發(fā)現(xiàn)了MSSQL和Oracle互通的功能,大喜。接著就開(kāi)始著手開(kāi)發(fā)。于是有了這文章。;;;;在MSSQL中有個(gè)叫做鏈接服務(wù)器的功能(這個(gè)在Oracle里稱(chēng)為透明網(wǎng)關(guān))。能把不同的異類(lèi)數(shù)據(jù)庫(kù)附加鏈接到MSSQL中,做為一個(gè)“虛庫(kù)”(我給的名稱(chēng))使用。比如Oracle,DB2,Sybase,Access等等,基本上MS能提供驅(qū)動(dòng)程序的都能做。架好服務(wù)器,開(kāi)通個(gè)Job,就實(shí)現(xiàn)了定時(shí)導(dǎo)數(shù)據(jù)的功能。具體實(shí)現(xiàn):;;;;首先,在Oracle上創(chuàng)建View,給MsSql提供必要的數(shù)據(jù)源。;;;;在MsSql的服務(wù)器上安裝Oracle10g的客戶(hù)端。在ODBC創(chuàng)建好數(shù)據(jù)源。之后在MsSql上架設(shè)鏈接服務(wù)器。;;;;test一下。'SELECT id,title,thedate,summary,lid,city,ptype FROM {0}..{1}.{2}'; --0,為數(shù)據(jù)源名稱(chēng);1,為用戶(hù)名;2為表名。格式要依照PL/SQL語(yǔ)法。;ok~;;;;但是發(fā)現(xiàn),這樣讀取View出錯(cuò)。所以換了一種寫(xiě)法:;;;;select * from openquery(***,'SELECT id,title,thedate,summary,lid,city,ptype FROM ***.***')這樣是利用MsSql的分布式方法去讀取Oracle。接著,創(chuàng)建采集的存儲(chǔ)過(guò)程。SET QUOTED_IDENTIFIER ONGOSET ANSI_NULLS ON GOCREATE PROCEDURE [dbo].[usp_tranDigital] ASselect * from openquery(***,'SELECT id,title,thedate,summary,lid,city,ptype FROM ***.***')用游標(biāo)獲取結(jié)果集的行。這個(gè)方法在Oracle比較常用OPEN authors_cursorFETCH NEXT FROM authors_cursor into @ID,@TITLE,@THEDATE,@SUMMARY,@LID,@CITY,@PTYPEWHILE @@FETCH_STATUS = 0BEGINexecute Digital_Insert調(diào)用存儲(chǔ)過(guò)程插入。FETCH NEXT FROM authors_cursor into@ID,@TITLE,@THEDATE,@SUMMARY,@LID,@CITY,@PTYPEENDCLOSE authors_cursorDEALLOCATE authors_cursorGOSET QUOTED_IDENTIFIER OFFGOSET ANSI_NULLS ON GO在Job里調(diào)用該存儲(chǔ)過(guò)程。任務(wù)完結(jié)。這樣,我在不要任何程序修改的情況下,把不同數(shù)據(jù)庫(kù)上的數(shù)據(jù)都挪到同一個(gè)地方。
主站蜘蛛池模板: 欧美在线观看高清一二三区 | 国产一级毛片卡 | 色婷婷在线播放 | 欧美精品在线视频观看 | 99久久免费精品高清特色大片 | 日本特黄高清免费大片爽 | 在线一级黄色片 | 国产成年人网站 | 久久99精品一久久久久久 | 最新中文字幕电影在线观看 | 在线 你懂的 | 中文字幕国产亚洲 | 九九欧美| 国产青青久久 | 天天欲色成人综合网站 | 成人免费观看在线网址 | 久久99综合久久爱伊人 | 国产超薄肉色丝袜的免费网站 | 成本人h片3d动漫网站在线看 | 国产精品蜜芽在线观看 | 成年女人毛片免费视频 | 色婷婷亚洲 | 午夜国产在线 | 日本高清www免费视频 | 亚洲高清免费视频 | 爱爱欧美视频 | 国产日韩欧美中文 | a级毛片在线免费 | 91视频苹果版| xxxx色| 国内自拍tv在线 | 日本大片免a费观看视频+播放器 | 国内自拍视频一区二区三区 | 美国一级大黄大黄大色毛片a | 99re久久在热线播放最新地址 | 国产精品日韩欧美一区二区 | 一级毛毛片毛片毛片毛片在线看 | 成人一级免费视频 | 免费国产成人午夜在线观看 | 国产欧美一区二区三区在线 | 亚洲欧美网址 |