美章網(wǎng) 資料文庫 網(wǎng)頁數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入范文

網(wǎng)頁數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入范文

本站小編為你精心準(zhǔn)備了網(wǎng)頁數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入?yún)⒖挤段?,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

網(wǎng)頁數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入

1SQLServer2000常用的數(shù)據(jù)導(dǎo)入導(dǎo)出方法

1.1通過DTS的設(shè)計(jì)器進(jìn)行導(dǎo)入或?qū)С?/p>

DTS的設(shè)計(jì)器功能強(qiáng)大,支持多任務(wù),也是可視化界面,易于操作,但熟悉的人一般不多,如果只是進(jìn)行SQLServer數(shù)據(jù)庫中部分表的移動(dòng),用這種方法最好,當(dāng)然,也可以進(jìn)行全部表的移動(dòng)。在SQLServerEnterpriseManager中,展開服務(wù)器左邊的+,選擇數(shù)據(jù)庫,右擊,選擇Alltasks/ImportData...(或Alltasks/ExportData...),進(jìn)入向?qū)J剑缓蟀凑仗崾疽徊揭徊竭M(jìn)行就可以了,里面分得非常詳細(xì),可以靈活的在不同數(shù)據(jù)源之間復(fù)制數(shù)據(jù),非常的方便,而且還可以另存成DTS包,如果以后還有相同的復(fù)制任務(wù),直接運(yùn)行DTS包就行,省時(shí)省力。也可以直接打開DTS設(shè)計(jì)器,方法是展開服務(wù)器名稱下面的DataTransformationServices,選LocalPackages,在右邊的窗口中右擊,選NewPackage,就打開了DTS設(shè)計(jì)器。值得注意的是:如果源數(shù)據(jù)庫要拷貝的表有外鍵,注意移動(dòng)的順序,有時(shí)要分批移動(dòng),否則外鍵主鍵,索引可能丟失,移動(dòng)的時(shí)候選項(xiàng)旁邊的提示說的很明白,或者一次性的復(fù)制到目標(biāo)數(shù)據(jù)庫中,再重新建立外鍵,主鍵,索引。其實(shí)在建立數(shù)據(jù)庫時(shí),建立外鍵,主鍵,索引的文件應(yīng)該和建表文件分開,而且用的數(shù)據(jù)文件也分開,并分別放在不同的驅(qū)動(dòng)器上,有利于數(shù)據(jù)庫的優(yōu)化。

1.2利用Bcp工具

這種工具雖然在SQLServer2000的版本中不推薦使用,但許多數(shù)據(jù)庫管理員仍很喜歡用它,尤其是用過SQLServer早期版本的人。不過Bcp確實(shí)有其局限性,首先它的界面不是圖形化的;其次它只是在SQLServer的表(視圖)與文本文件之間進(jìn)行復(fù)制。但是另一方面,它也有其優(yōu)點(diǎn):性能好,開銷小,占用內(nèi)存少,速度快。

1.3利用備份和恢復(fù)

先對源數(shù)據(jù)庫進(jìn)行完全備份,備份到一個(gè)設(shè)備(device)上,然后把備份文件復(fù)制到目的服務(wù)器上(恢復(fù)的速度快),進(jìn)行數(shù)據(jù)庫的恢復(fù)操作,在恢復(fù)的數(shù)據(jù)庫名中填上源數(shù)據(jù)庫的名字(名字必須相同),選擇強(qiáng)制型恢復(fù)(可以覆蓋以前數(shù)據(jù)庫的選項(xiàng)),在選擇從設(shè)備中進(jìn)行恢復(fù),瀏覽時(shí)選中備份的文件就行了。這種方法可以完全恢復(fù)數(shù)據(jù)庫,包括外鍵,主鍵,索引。

1.4直接拷貝數(shù)據(jù)文件

把數(shù)據(jù)庫的數(shù)據(jù)文件(*.mdf)和日志文件(*.ldf)都拷貝到目的服務(wù)器,在SQLServerQueryAnalyzer中用語句進(jìn)行恢復(fù):

EXECsp_attach_db@dbname=’test’,

@filename1=’d:\mssql7\data\test_data.mdf’,

@filename2=’d:\mssql7\data\test_log.ldf’

這樣就把test數(shù)據(jù)庫附加到SQLServer中,可以照常使用,如果不想用原來的日志文件,可以用如下的命令:

EXECsp_detach_db@dbname=’test’

EXECsp_attach_single_file_db@dbname=’test’,

@physname=’d:\mssql7\data\test_data.mdf’

這個(gè)語句的作用是僅僅加載數(shù)據(jù)文件,日志文件可以由SQLServer數(shù)據(jù)庫自動(dòng)添加,但是原來的日志文件中記錄的數(shù)據(jù)就丟失了。

1.5在應(yīng)用程序中定制

可以在應(yīng)用程序(PB、VB)中執(zhí)行自己編寫的程序,也可以在QueryAnalyzer中執(zhí)行,這種方法比較靈活,其實(shí)是利用一個(gè)平臺(tái)連接到數(shù)據(jù)庫,在平臺(tái)中用的主要是SQL語句,這種方法對數(shù)據(jù)庫的影響小,但是如果用到遠(yuǎn)程鏈接服務(wù)器,要求網(wǎng)絡(luò)之間的傳輸性能好,一般有兩種語句:

1.5.1select...intonew_brnamewhere...

1.5.2insert(into)old_brnameselect...from...where...

這兩種方式的區(qū)別是前者把數(shù)據(jù)插入一個(gè)新表(先建立表,再插入數(shù)據(jù)),而后者是把數(shù)據(jù)插入已經(jīng)存在的一個(gè)表中,一般來說,第二條語句強(qiáng)于前者。

1.6SQLServer的復(fù)制功能

SQLServer提供了強(qiáng)大的數(shù)據(jù)復(fù)制功能,也是最不易掌握的,具體應(yīng)用請參考相關(guān)資料,值得注意的是要想成功進(jìn)行數(shù)據(jù)的復(fù)制工作,有些條件是必不可少的:

1.6.1SQLServerAgent必須啟動(dòng),MSDTC必須啟動(dòng)。

1.6.2所有要復(fù)制的表必須有主鍵。

1.6.3如果表中有text或image數(shù)據(jù)類型,必須使用withlog選項(xiàng),不能使用withno_log選項(xiàng)。

另外maxtextreplsize選項(xiàng)控制可以復(fù)制的文本和圖像數(shù)據(jù)的最大規(guī)模,超過這個(gè)限制的操作將失敗。

1.6.4在要進(jìn)行復(fù)制的計(jì)算機(jī)上,應(yīng)該至少是隱含共享,即共享名是C$或D$…。

1.6.5為SQLServer使用的WindowsNT賬號(hào)不能是一個(gè)本地的系統(tǒng)賬號(hào),因?yàn)楸镜氐南到y(tǒng)賬號(hào)不允許網(wǎng)絡(luò)存取。

1.6.6如果參與復(fù)制的服務(wù)器在另外的計(jì)算機(jī)域中,必須在這些域之間建立信任關(guān)系。

2實(shí)現(xiàn)基于網(wǎng)頁數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入

那么,如何實(shí)現(xiàn)基于網(wǎng)頁的數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入呢,下面利用一個(gè)比較簡單的網(wǎng)絡(luò)介紹一下。

假設(shè)某局域網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如下所示:

其中服務(wù)器A和工作站B位于局域網(wǎng)內(nèi),工作站C與服務(wù)器D位于Internet內(nèi),局域網(wǎng)與Internet是物理隔離的,工作站C與工作站D在同一個(gè)辦公室內(nèi),服務(wù)器A上的數(shù)據(jù)庫管理系統(tǒng)是Oracle,服務(wù)器D上的數(shù)據(jù)庫管理系統(tǒng)是SQLServer2000。由于工作需要,要求把服務(wù)器A的有關(guān)數(shù)據(jù)導(dǎo)入到服務(wù)器D上。

2.1通常的工作流程:

2.1.1在工作站B上運(yùn)行客戶端軟件,將服務(wù)器A上數(shù)據(jù)導(dǎo)入到本地的dbf文件。

2.1.2用移動(dòng)硬盤把dbf文件從工作站B拷貝到工作站C上。

2.1.3在工作站C上,用ftp軟件將dbf文件上傳到服務(wù)器D上。

2.1.4在工作站C上,運(yùn)行遠(yuǎn)程桌面軟件登錄到服務(wù)器D上。

2.1.5在服務(wù)器D上,執(zhí)行DTS,將dbf文件中的數(shù)據(jù)導(dǎo)入到SQLServer

數(shù)據(jù)庫。

2.1.6在服務(wù)器D上,運(yùn)行相關(guān)存儲(chǔ)過程,做數(shù)據(jù)的后期處理工作。

在許多情況下,因?yàn)楦鞣N不同情況的需要,這個(gè)工作流程每天(甚至更短的時(shí)間內(nèi))就要執(zhí)行一次,非常繁瑣,而且使用手工操作,很容易出錯(cuò)。下面提出一種改進(jìn)的方案。

2.2改進(jìn)后的工作流程

2.2.1在工作站B上運(yùn)行客戶端軟件,將服務(wù)器A上數(shù)據(jù)導(dǎo)入到本地的dbf文件。

2.2.2用移動(dòng)硬盤把dbf文件從工作站B拷貝到工作站C上。

2.2.3在工作站C上,打開服務(wù)器D上的相關(guān)網(wǎng)頁,利用網(wǎng)頁將dbf文件的數(shù)據(jù)導(dǎo)入到服務(wù)器D上的SQLServer數(shù)據(jù)庫中。

首先,要在網(wǎng)頁里實(shí)現(xiàn)上傳功能,把dbf文件從工作站C上傳到服務(wù)D上,這里就不多介紹了。要通過網(wǎng)頁把dbf文件導(dǎo)入到SQLServer中,需要借助DTS可編程對象。DTS包含一組可編程COM對象,主要包含:DTS.Package、DTS.Connection、DTS.Step、DTS.ExecuteSQLTask、DTS.DataPumpTask、DTS.Transformation。

在ASP網(wǎng)頁里,通過用VBScript腳本創(chuàng)建調(diào)用DTS可編程COM對象,可以完成數(shù)據(jù)導(dǎo)入任務(wù)。SQLServer2000有比較詳細(xì)的文檔資料介紹DTS編程,但沒有給一個(gè)具體的例子,如果僅參考文檔資料,難度比較大,開發(fā)時(shí)間也會(huì)相當(dāng)長。這里大概的介紹一下開發(fā)程序的過程。首先,在SQLSever2000的DTS設(shè)計(jì)器里,創(chuàng)建DTS包,實(shí)現(xiàn)從dbf文件到SQLServer2000的數(shù)據(jù)導(dǎo)入,把后期處理的存儲(chǔ)過程也添加到DTS包里。將這個(gè)DTS包另存為VBScript文件。有了這個(gè)VBScript文件,開發(fā)程序就容易多了,加入所需要的其他代碼,就可以在網(wǎng)頁里實(shí)現(xiàn)數(shù)據(jù)庫的數(shù)據(jù)導(dǎo)入。

主站蜘蛛池模板: 日韩精品无码免费一区二区三区| 美女舒服好紧太爽了视频| 女偶像私下的y荡生活| 久久久久久久久久国产精品免费| 欧美大黑bbb| 人妻大战黑人白浆狂泄| 综合图区亚洲欧美另类图片| 国产原创中文字幕| 0588影视手机免费看片| 国产黄三级高清在线观看播放| xxxx国产视频| 成人毛片手机版免费看| 久久人妻无码中文字幕 | 国产精品VIDEOSSEX久久发布| 99久热只有精品视频免费观看17| 小浪蹄子嗯嗯水挺多啊| 久久99热只有频精品8| 日韩免费视频一区| 亚洲人成无码网站久久99热国产| 波多野结衣一区二区免费视频 | 精品国产福利第一区二区三区| 国产亚洲午夜精品| 99re6在线| 国产精品一区二区久久| 91在线精品亚洲一区二区| 天天操天天摸天天爽| 一级做一级爱a做片性视频视频 | 亚洲最大av网站在线观看| 狠狠干2018| 免费看美女被靠到爽的视频| 美女被羞羞在线观看| 国产一区二区在线观看app| 韩国18videos极品| 国产成人AAAAA级毛片| 日本三级韩国三级欧美三级| 国产精品成人va| 91av电影在线观看| 国产麻豆精品手机在线观看| aaaaa级少妇高潮大片| 奇米影视国产精品四色| 一本久道久久综合|