成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

在SQL Server 中使用SQLDMO

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

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

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

重要屬性:

CopyAllDefaults Boolean;;所有默認值

CopyAllObjects; Boolean;;所有對象

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

CopyAllStoredProceduresBoolean;所有存儲過程

CopyAllTables;Boolean;;所有表

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

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

CopyAllViews;;Boolean;;所有視圖

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

DestDatabase;String;;;;目標對象數(shù)據(jù)庫

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

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

DestServer String;;;;目標服務器

DestUseTrustedConnection; Boolean; 用戶信任連接

DropDestObjectsFirst; Boolean;;是否先刪除目標對象

IncludeDependenciesBoolean;;是否包含依靠對象

ScriptType; Boolean;;腳本類型

重要方法:

AddObject增加對象

AddObjectByName;通過對象名稱增加對象

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

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

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

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

,@UserNamesysname;;--用戶名

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

)

AS

set nocount on

--/*; 局部變量聲明

declare; @ObjName;;;sysname

,@SrvID;int;;--服務器ID

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

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

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

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

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

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

,@str;;;Nvarhar(4000)

,@name;;sysname

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

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

--*/;;

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

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

if @hr<>0

begin

set @Error=1

goto PEnd

end

--*/

--/*連接服務器

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

if @hr<>0

begin

set @Error=2

goto PEnd

end

--*/

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

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

--*/

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

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

if @hr<>0

begin

set @Error=3

goto PEnd

end

--*/

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

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

if @hr<>0

begin

set @Error=4

goto PEnd

end

--*/

/*Tansfer屬性設置(生成三大對象)

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 這里大家可以試試這個屬性

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

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

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

成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲欧美日韩在线综合| 欧美电影一区二区| 91精品欧美一区二区三区综合在| 亚洲一区二区三区中文字幕| 影音先锋亚洲电影| 国产日韩av一区二区| gogo大胆日本视频一区| 欧美v亚洲v综合ⅴ国产v| 国产在线精品免费| 欧美日韩大陆一区二区| 日韩成人伦理电影在线观看| 麻豆av福利av久久av| 亚洲一级在线观看| 国产精品欧美日韩一区| 伊人色综合久久天天人手人婷| 伊人久久婷婷色综合98网| 国产精品久久久久三级| 亚洲无吗在线| 亚洲人成网站色在线观看| 亚洲福利精品| 亚洲精品乱码久久久久久| 99国产成+人+综合+亚洲欧美| 亚洲日本欧美天堂| 国产真实久久| 国产精品久久久久国产精品日日| 欧美日韩精品| 国产精品视频你懂的| 欧美午夜精彩| 亚洲品质自拍视频| 国产精品久久久久久久久久直播| 亚洲综合在线视频| 亚洲综合首页| 日韩av不卡在线观看| 欧美日韩国产一级片| 国产伦精一区二区三区| 欧美一级黄色片| 成人免费高清在线| 久久久高清一区二区三区| 欧美三区美女| 亚洲免费观看高清完整版在线观看熊| 亚洲激情自拍| 亚洲成人av在线电影| 色欧美片视频在线观看在线视频| 麻豆精品精品国产自在97香蕉 | 久久精品一区| 麻豆91小视频| 日韩三级伦理片妻子的秘密按摩| 成人福利视频在线看| 欧美国产综合色视频| 在线日本成人| 午夜精品久久久久久久久久| 91久久精品一区二区| 国产suv精品一区二区三区| 久久丝袜美腿综合| 欧美视频网站| 亚洲一区在线观看视频| 日本伦理一区二区| 国产精品一区二区在线播放| 久久日一线二线三线suv| 国内一区二区三区| 一区二区视频在线| 91国产视频在线观看| 成人av资源在线| 国产精品久久久久婷婷二区次| 亚洲影音先锋| 国产一区在线观看视频| 久久嫩草精品久久久精品| 国内外成人免费视频| 日韩av一区二区在线影视| 69av一区二区三区| 欧美日本一区| 秋霞av亚洲一区二区三| 精品国产乱码久久久久久免费| 狠狠综合久久| 免费观看在线色综合| 精品久久久久一区二区国产| 亚洲国产一区二区三区在线播| 日韩成人精品在线观看| 日韩精品资源二区在线| 1024日韩| 国产最新精品精品你懂的| 国产三级一区二区三区| 免费久久99精品国产自| 国产精品66部| 国产精品免费视频观看| 久久午夜视频| 成人av综合在线| 艳妇臀荡乳欲伦亚洲一区| 欧美片在线播放| 国产精品初高中精品久久| 麻豆精品蜜桃视频网站| 中文一区二区在线观看| 日本韩国欧美一区二区三区| av午夜一区麻豆| 五月综合激情网| 久久视频一区二区| 色8久久人人97超碰香蕉987| 色综合久久综合网| 性做久久久久久| 久久嫩草精品久久久精品 | 欧美videos中文字幕| 亚洲女优在线| 99v久久综合狠狠综合久久| 婷婷一区二区三区| 久久久久国产精品厨房| 欧美系列日韩一区| 亚洲区一区二| 不卡视频免费播放| 午夜电影一区二区三区| 国产午夜精品理论片a级大结局| 老司机午夜精品视频| 欧美.日韩.国产.一区.二区| 日本va欧美va瓶| 国产精品久久久久一区二区三区共| 欧美日韩国产一二三| 国产一区91| 91影院在线观看| 久久er精品视频| 亚洲综合视频在线| 久久精品在这里| 欧美老女人第四色| 久久国产精品亚洲77777| 欧美日韩a区| 国产成人精品免费在线| 亚洲网站啪啪| 成人精品亚洲人成在线| 奇米亚洲午夜久久精品| 中文字幕在线不卡国产视频| 91精品国产高清一区二区三区 | 欧美tickling网站挠脚心| 久久精品一本| 亚洲欧洲一区二区天堂久久| 91日韩精品一区| 国产成人自拍在线| 婷婷综合久久一区二区三区| 亚洲欧洲精品一区二区三区不卡| 日韩欧美国产一区二区三区| 色视频成人在线观看免| 亚洲激情精品| 国产综合久久| 99久久99久久精品免费观看| 精品一区二区三区在线观看国产| 亚洲狠狠丁香婷婷综合久久久| 国产色产综合色产在线视频| 日韩欧美中文字幕公布| 欧美影院一区二区三区| 国产麻豆综合| 一区精品在线| 欧美日韩在线观看一区二区三区| 成人黄页毛片网站| 国产一区 二区 三区一级| 美国三级日本三级久久99 | 懂色av中文一区二区三区 | 国产精品久久久一区麻豆最新章节| 日韩女同互慰一区二区| 欧美日韩一区国产| 色先锋资源久久综合| 国产亚洲一级| 亚洲日本国产| 好看不卡的中文字幕| 色综合久久综合网| av亚洲精华国产精华| 不卡的av在线| 成人av电影在线观看| 国产精品白丝av| 久草精品在线观看| 久国产精品韩国三级视频| 丝袜亚洲另类欧美综合| 一区二区三区中文免费| 综合婷婷亚洲小说| 亚洲欧美综合网| 欧美激情在线看| 欧美韩国日本一区| 国产精品伦一区| 国产精品美女久久久久久久久久久 | 亚洲制服丝袜一区| 亚洲男人都懂的| 中文字幕在线不卡一区 | 成人av综合在线| 成人黄动漫网站免费app| 福利一区福利二区| 国产剧情一区二区三区| 国产美女精品人人做人人爽| 精品一区二区在线视频| 国产最新精品精品你懂的| 亚洲欧美日韩国产综合精品二区| 精品不卡一区| 亚洲日本视频| 亚洲免费一区二区| 一本一道波多野结衣一区二区| 在线精品亚洲一区二区不卡| 欧美四级电影在线观看| 欧美日韩国产一级片| 欧美一区二区三区人| 精品久久久久久亚洲综合网| 国产拍揄自揄精品视频麻豆| 国产亚洲综合av| 亚洲欧美一区二区三区孕妇| 亚洲柠檬福利资源导航| 亚洲成年人影院|