日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

在SQL Server 中使用SQLDMO

瀏覽:276日期:2023-10-29 12:39:35

曾幾何時(shí),伙伴們?yōu)閿?shù)據(jù)庫(kù)的升級(jí)傷透了腦筋.往往程序的升級(jí)趕不上數(shù)據(jù)庫(kù)的升級(jí)(版本控制的好,這也許不是什么問題,但對(duì)于很大一部分中國(guó)公司來說這是無法避免的).而有些n久以前的數(shù)據(jù)庫(kù)要使用新程序的時(shí)候,數(shù)據(jù)庫(kù)的升級(jí)簡(jiǎn)直就是無從下手.所以對(duì)比數(shù)據(jù)庫(kù)升級(jí)的緊要性就逐漸的凸現(xiàn)出來.對(duì)于表和字段的升級(jí)按道理來說是不難的,通過sysobjects與syscolumns的比較很容易的可以找到不同之處,然后增加沒有的對(duì)象即可.而對(duì)于視圖和存儲(chǔ)過程等非表對(duì)象的更新就有些為難了(當(dāng)然視圖和存儲(chǔ)過程如果用手工的辦法是很簡(jiǎn)單的).一個(gè)在于如何生成對(duì)象腳本,另一個(gè)在于如何執(zhí)行.大家都知道syscomments表中藏有此類對(duì)象的腳本,人們肯定會(huì)優(yōu)先考慮開采這個(gè)寶庫(kù).當(dāng)站在字符型變量最大只能存儲(chǔ)8000個(gè)字符時(shí),這簡(jiǎn)直就是一個(gè)不可逾越的障礙.人們又想從導(dǎo)出文本腳本然后執(zhí)行這個(gè)思路著手時(shí),又發(fā)現(xiàn)從字段中取出的腳本有個(gè)天然的缺陷:換行問題.(最后發(fā)現(xiàn),這個(gè)問題也是可以解決的).萬般無奈下人們把渴望的目光集中到了SQLDMO上,她的身上總散發(fā)著無所不能的光芒.

當(dāng)Transfer對(duì)象的美妙身材展現(xiàn)在人們眼前的時(shí)候,大家都對(duì)她的美麗所折服——這不正是我們所尋找的嗎?她的動(dòng)人之處就在于可以把一個(gè)數(shù)據(jù)庫(kù)的對(duì)象腳本保存在內(nèi)存中,然后連接到另一個(gè)數(shù)據(jù)庫(kù)上執(zhí)行.太棒了!現(xiàn)在我們來看看她的輪廓吧:

重要屬性:

CopyAllDefaults Boolean;;所有默認(rèn)值

CopyAllObjects; Boolean;;所有對(duì)象

CopyAllRules;;Boolean;;所有規(guī)則

CopyAllStoredProceduresBoolean;所有存儲(chǔ)過程

CopyAllTables;Boolean;;所有表

CopyAllTriggers Boolean;;所有觸發(fā)器

CopyAllUserDefinedDatatypes;;;Boolean;;;;所有用戶自定義類型

CopyAllViews;;Boolean;;所有視圖

CopyDataBoolean;;所有數(shù)據(jù)

DestDatabase;String;;;;目標(biāo)對(duì)象數(shù)據(jù)庫(kù)

DestLogin; String;;;;目標(biāo)數(shù)據(jù)庫(kù)登陸用戶名

DestPassword;;String;;;;目標(biāo)數(shù)據(jù)庫(kù)登陸密碼

DestServer String;;;;目標(biāo)服務(wù)器

DestUseTrustedConnection; Boolean; 用戶信任連接

DropDestObjectsFirst; Boolean;;是否先刪除目標(biāo)對(duì)象

IncludeDependenciesBoolean;;是否包含依靠對(duì)象

ScriptType; Boolean;;腳本類型

重要方法:

AddObject增加對(duì)象

AddObjectByName;通過對(duì)象名稱增加對(duì)象

好了,大家應(yīng)該對(duì)這個(gè)對(duì)象略有些了解了.對(duì)SQLDMO熟悉的人也許一下子就可以從中得到靈感,而初學(xué)者在這里恐怕還是一頭霧水.不過不用著急,具體用法我們會(huì)慢慢道來:

CREATE PROCEDURE; P_UDB --以源數(shù)據(jù)庫(kù)為模板升級(jí)目標(biāo)數(shù)據(jù)庫(kù)

(; @Source_DB; sysname;;--原數(shù)據(jù)庫(kù)

,@Des_DB;;sysname;;--目標(biāo)數(shù)據(jù)庫(kù)

,@UserNamesysname;;--用戶名

,@psw;;;;;sysname;;--密碼

)

AS

set nocount on

--/*; 局部變量聲明

declare; @ObjName;;;sysname

,@SrvID;int;;--服務(wù)器ID

,@DBsId;int;;--數(shù)據(jù)庫(kù)集ID

,@transferID;;;int;;--傳輸ID

,@SDBId;int;;--源數(shù)據(jù)庫(kù)ID

,@DDBID;int;;--目標(biāo)數(shù)據(jù)庫(kù)ID

,@SViewListID;;int;;--源數(shù)據(jù)庫(kù)視圖列表;

,@DViewListID;;int;;--目標(biāo)數(shù)據(jù)庫(kù)視圖列表;

,@str;;;Nvarhar(4000)

,@name;;sysname

,@hr;;;;int;--執(zhí)行語句返回值

,@Errorint;;;;--錯(cuò)誤返回值(999:存儲(chǔ)過程或觸發(fā)器錯(cuò)誤;9999:視圖錯(cuò)誤)

--*/;;

--/*創(chuàng)建sqldmo對(duì)象; 前面我們已經(jīng)說過SQLDMO是個(gè)com,在SQL Server中使用OLE --自動(dòng)化對(duì)象需要用到sp_OACreate等一系列的存儲(chǔ)過程,讀者如果有不明白的可以自--己查閱相關(guān)資料

exec @hr=sp_oacreate 'SQLDMO.sqlserver',@SrvID output

if @hr<>0

begin

set @Error=1

goto PEnd

end

--*/

--/*連接服務(wù)器

exec @hr=sp_oamethod @SrvID,'connect',null,@@ServerName,@UserName,@psw

if @hr<>0

begin

set @Error=2

goto PEnd

end

--*/

--/*取數(shù)據(jù)庫(kù)集

exec @hr=sp_oagetproperty @SrvID,'databases',@DBsId output

--*/

--/*選擇源數(shù)據(jù)庫(kù);

exec @hr=sp_oamethod @DBsId,'item',@SDBId output,@Source_DB

if @hr<>0

begin

set @Error=3

goto PEnd

end

--*/

--/*選擇目標(biāo)數(shù)據(jù)庫(kù);

exec @hr=sp_oamethod @DBsId,'item',@DDBId output,@Des_DB

if @hr<>0

begin

set @Error=4

goto PEnd

end

--*/

/*Tansfer屬性設(shè)置(生成三大對(duì)象)

exec @hr=sp_oacreate 'SQLDMO.Transfer',@transferID output

exec @hr=sp_oasetproperty@transferID,'DestServer',@@ServerName

exec @hr=sp_oasetproperty@transferID,'DestLogin',@UserName

exec @hr=sp_oasetproperty@transferID,'DestPassword ',@psw

exec @hr=sp_oasetproperty@transferID,'DestDatabase',@des_DB

exec @hr=sp_oasetproperty@transferID,'DropDestObjectsFirst ',1

exec @hr=sp_oasetproperty@transferID,'CopyAllStoredProcedures ',1

exec @hr=sp_oasetproperty@transferID,'CopyAllTriggers',1

exec @hr=sp_oasetproperty@transferID,'CopyAllViews',1

--exec @hr=sp_oasetproperty@transferID,'ScriptType ',1 這里大家可以試試這個(gè)屬性

exec @hr=sp_oamethod; @DDBId,'Transfer ',null,@transferID

exec sp_OADestroy @TransferID;

if @hr<>0

begin

set @Error=10

goto PEnd

end

*/

PEnd:

exec @hr = sp_OAMethod @SrvID, 'DisConnect';

exec sp_OADestroy @SrvID;

print (@Error)

Return (@Error)

GO

上邊的存儲(chǔ)過程只要是介紹方法的實(shí)現(xiàn),而具體的功能比如表及字段的比較生成這里就省略了.

其實(shí)有一個(gè)大家最后也沒能解決好的問題就是對(duì)象依賴的問題.許多對(duì)象比如視圖里嵌視圖,這時(shí)生成與執(zhí)行需要有順序的.雖然有算法但有缺陷.希望讀者能可以提供好的算法.

日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩欧美激情| 中文字幕免费精品| 国产日韩三级| 欧美视频久久| 国产九一精品| 国产精品对白| 精品一区二区三区免费看| 日本一区福利在线| 欧美日本久久| 日韩高清电影免费| 欧美亚洲网站| 国产91欧美| 久久免费大视频| 日韩高清成人在线| 亚洲a在线视频| 欧美国产精品| 日本电影久久久| 视频一区视频二区中文| 视频一区在线视频| 天堂久久一区| 国产日本久久| 精品国产一区二区三区2021| 国产精品免费大片| 黄色网一区二区| 群体交乱之放荡娇妻一区二区| 五月天激情综合网| 91九色综合| 成人精品高清在线视频| 欧美日韩国产免费观看视频| 亚洲永久精品唐人导航网址| 久久福利在线| 在线日韩中文| 日韩精品导航| 亚洲啊v在线| 丝袜美腿亚洲一区二区图片| 国产精品亚洲一区二区在线观看| 中文字幕在线视频网站| 亚洲精品va| 国产欧美精品| 少妇精品导航| 亚洲精品免费观看| 色欧美自拍视频| 免费日韩精品中文字幕视频在线| 国产精品一区二区精品| 99久久99久久精品国产片果冰| 综合国产精品| 中文字幕在线免费观看视频| 蜜桃av一区| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | а√天堂8资源在线| 欧美日韩四区| 国产乱码精品| 波多野结衣一区| 国产精品一区二区av日韩在线| 亚洲福利久久| 国产精品中文字幕制服诱惑| 蜜桃国内精品久久久久软件9| 91精品国产自产精品男人的天堂| 午夜av成人| 欧美视频二区| 激情综合网站| 久久只有精品| 综合精品一区| 久久精品av| 欧美亚洲三区| 亚洲一区不卡| 成人片免费看| 国产日产一区| 99国产成+人+综合+亚洲欧美| 精品中文字幕一区二区三区 | 久久国产亚洲精品| 国产日韩中文在线中文字幕| 激情久久五月| 国语对白精品一区二区| 影音先锋久久精品| 99久久久久| 丰满少妇一区| 日韩av黄色在线| 性一交一乱一区二区洋洋av| 波多视频一区| 美女毛片一区二区三区四区最新中文字幕亚洲| 视频在线观看91| 精品一区欧美| 蜜臀国产一区| 免费一级欧美在线观看视频| 亚洲综合二区| 国产在线欧美| 日韩精品91| 久久一区视频| 国产欧美激情| 人人爱人人干婷婷丁香亚洲| 中文精品在线| 久久久久国产精品一区三寸 | 国产精品蜜芽在线观看| 国产精品欧美大片| 日韩中文字幕| 蜜桃视频免费观看一区| 午夜影院欧美| 国户精品久久久久久久久久久不卡 | 中文字幕在线看片| 国产精品久久久免费| 日本在线不卡视频一二三区| 日韩中文字幕亚洲一区二区va在线 | 国产成年精品| 精品视频高潮| 美女久久精品| 久久精品国产亚洲一区二区三区| 国产欧美88| 国产精品亚洲欧美日韩一区在线| 日韩区欧美区| 青青草伊人久久| 国产亚洲字幕| 国产精品多人| 国产精品黄网站| 你懂的国产精品| 久久这里只有| 精品视频在线一区二区在线| 欧美激情日韩| 精品视频自拍| 福利在线一区| 日韩欧美一区免费| 久久精品导航| 亚洲激情中文| 丝袜亚洲另类欧美| 色婷婷成人网| 欧美在线日韩| 麻豆国产精品一区二区三区| 久久精品人人| 国产精品国产三级国产在线观看| 精品国产精品国产偷麻豆| 精品91福利视频| 日韩欧美二区| 欧美日韩国产探花| 亚洲一区二区av| 欧美精品福利| 久久男人av| 久久久久国产| 中文亚洲欧美| 日韩国产欧美一区二区三区| 国产精品久久久久久久免费软件| 久久中文在线| 久久久久久久久久久妇女 | 久久伊人亚洲| 亚洲成a人片| 西西人体一区二区| 日韩1区2区3区| 精品五月天堂| 精品一区亚洲| 日韩精品社区| 精品成人18| 国精品一区二区三区| 一区二区国产在线观看| 国产精品色婷婷在线观看| 91视频一区| 国产精品毛片在线| 日本欧美韩国一区三区| 美女精品一区二区| 99精品网站| 日本综合精品一区| 都市激情国产精品| 美女精品网站| 国产精品v日韩精品v欧美精品网站 | 国产偷自视频区视频一区二区| 亚洲日产国产精品| 精品高清久久| 国产女优一区| 麻豆一区二区在线| 亚洲特级毛片| 青青青国产精品| 深夜视频一区二区| 日本在线不卡视频| av资源亚洲| 亚洲日本欧美| 91亚洲自偷观看高清| 视频一区欧美精品| 精品美女久久| 亚洲视频国产| 国产成人久久精品一区二区三区| 欧美日韩免费观看一区=区三区| 欧美亚洲tv| 九九久久婷婷| 欧美激情日韩| 亚洲免费播放| 精品国产不卡| 亚洲一区二区三区四区电影 | 欧美黄页在线免费观看| 精品一区欧美| 国产精品sm| 美女被久久久| 日韩中文欧美| 91麻豆精品| 日韩网站在线| 久久久久久夜| 欧美一区久久| 999精品在线| 国产精品巨作av| 人人爽香蕉精品| 久久久久国产精品一区二区| 国产精品99久久久久久董美香| 国产亚洲福利|