sqlserver數(shù)據(jù)庫(kù)遷移,sqlserver2008數(shù)據(jù)遷移

sqlserver整個(gè)數(shù)據(jù)庫(kù)怎么轉(zhuǎn)移到oracle數(shù)據(jù)庫(kù)

遷移主要有兩個(gè)工作:

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)房縣免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

1.

根據(jù)Sql

Server數(shù)據(jù)庫(kù)生成創(chuàng)建Oracle數(shù)據(jù)庫(kù)的腳本

2.

修改代碼中的SQL語(yǔ)句

根據(jù)Sql

Server數(shù)據(jù)庫(kù)生成創(chuàng)建Oracle數(shù)據(jù)庫(kù)的腳本

1.

用PowerDesiner將Sql

Server數(shù)據(jù)庫(kù)反向工程生成物理數(shù)據(jù)模型

2.

根據(jù)反向工程生成的物理數(shù)據(jù)模型創(chuàng)建邏輯模型

3.

再根據(jù)邏輯模型生成Oracle數(shù)據(jù)庫(kù)版本的物理模型

4.

根據(jù)Oracle數(shù)據(jù)庫(kù)版本的物理模型生成Oracle數(shù)據(jù)庫(kù)創(chuàng)建腳本

5.

按照Oracle命名規(guī)則和數(shù)據(jù)類型定義修改Oracle數(shù)據(jù)庫(kù)創(chuàng)建腳本

6.

在PL/SQL

Developer中執(zhí)行以檢驗(yàn)其正確性

修改代碼中的SQL語(yǔ)句

1.

Sql

Server中經(jīng)常用方括號(hào)把表名和字段名括起來(lái),

到Oracle中要把這些方括號(hào)都去掉

2.

將參數(shù)變更前的"@"符號(hào)改為":"符號(hào)

3.

將Sql

Server專有的方法和函數(shù)替換成Oracle相應(yīng)的方法和函數(shù)

4.

在PL/SQL

Developer中執(zhí)行SQL語(yǔ)句以檢驗(yàn)其正確性

轉(zhuǎn)換過(guò)程中的常見(jiàn)問(wèn)題

1.

表名和字段名使用了Oracle中的關(guān)鍵字

2.

Sql

Server中的NVARCHAR數(shù)據(jù)類型可存4000個(gè)漢字,

Oracle中的NVARCHAR/NVARCHAR2數(shù)據(jù)類型只能存2000個(gè)漢字

3.

索引名稱和外鍵名稱超過(guò)了30個(gè)字符

如何把sqlserver數(shù)據(jù)遷移到mysql數(shù)據(jù)庫(kù)及需要注意事項(xiàng)

二、將SQL

Server數(shù)據(jù)遷移到MySQL需要注意的一些問(wèn)題

1、唯一索引的不同,sql

server的唯一索引的字段只能允許存在一個(gè)null值,而mysql,一直oracle中唯一索引對(duì)應(yīng)的字段都允許存在多個(gè)null值。

2、存儲(chǔ)過(guò)程的語(yǔ)法存在很大的不同,存儲(chǔ)過(guò)程的遷移是最麻煩的,需要仔細(xì)修改。

3、程序中部分寫的SQL語(yǔ)句由于語(yǔ)法的不同也要相應(yīng)的修改。

三、將SQL

Server數(shù)據(jù)遷移到MySQL的常見(jiàn)方法

1、使用 SQLyog 遷移

優(yōu)點(diǎn)

該遷移方法很簡(jiǎn)單,靈活,遷移時(shí),可以進(jìn)行字段的修改,比如在sql

server中原來(lái)是datetime,然后遷移到mysql時(shí)你可以配置成timestamp;成功率很高;

缺點(diǎn)

遷移很慢!這是該方法最大的缺點(diǎn),如果表的數(shù)據(jù)量達(dá)到幾十萬(wàn)行,甚至幾百萬(wàn)行,你會(huì)發(fā)現(xiàn)遷移起來(lái)真的很慢。明顯比其他遷移方法慢很多。

2、使用 powerdesigner 和 sql server 的腳本導(dǎo)出功能 來(lái)遷移

(1)、該方法首先使用 powerdesigner,對(duì)sql

server數(shù)據(jù)庫(kù),進(jìn)行逆向工程,得到E-R圖,然后生成MySQL的建表語(yǔ)句。完成數(shù)據(jù)庫(kù)結(jié)構(gòu)的遷移;當(dāng)然表結(jié)構(gòu)的遷移,不使用powerdesigner一樣也是可以的。比如我將表結(jié)構(gòu)導(dǎo)出成語(yǔ)句,然后手動(dòng)進(jìn)行修改,然后在MySQL中運(yùn)行,也是一樣的;

(2)、然后使用 sql server的工具 SSMS,將sql

server數(shù)據(jù)庫(kù)中的表的數(shù)據(jù),導(dǎo)出成insert語(yǔ)句,每個(gè)表對(duì)應(yīng)導(dǎo)出一個(gè)文件,然后對(duì)文件進(jìn)行一些處理,然后導(dǎo)入到MySQL數(shù)據(jù)庫(kù)中。

3、使用Oracle MySQL Server 官方的 workbeach 工具進(jìn)行遷移

(1)、在workbench 連接sql server時(shí),用戶需要有 view any database 的權(quán)限。不然workbench無(wú)法訪問(wèn)sql

server的表結(jié)構(gòu)的元數(shù)據(jù),從而無(wú)法進(jìn)行遷移。

(2)、還有使用 Navicat 來(lái)進(jìn)行遷移的方法,方法和 SQLyog 是類似的。

如何把sqlserver數(shù)據(jù)遷移到mysql數(shù)據(jù)庫(kù)???

可以先把sqlserver數(shù)據(jù)庫(kù)導(dǎo)出成Excel表格文件 也可以建dsn數(shù)據(jù)源 再到MySQL數(shù)據(jù)庫(kù)導(dǎo)入Excel表格文件或者通過(guò)導(dǎo)入數(shù)據(jù)功能導(dǎo)入dsn連接的數(shù)據(jù)庫(kù)文件。 需要注意表格文件的字段對(duì)應(yīng) 還要重新在MySQL數(shù)據(jù)庫(kù)重新建立數(shù)據(jù)表映射關(guān)系

怎么把sql數(shù)據(jù)庫(kù)從舊電腦移動(dòng)到新電腦安裝?

新電腦上直接安裝同樣或者高版本的數(shù)據(jù)庫(kù)軟件,然后把舊電腦的數(shù)據(jù)庫(kù)分離一下,找到數(shù)據(jù)庫(kù)文件的存放路徑,將分離的數(shù)據(jù)庫(kù)再?gòu)?fù)制到新電腦上(網(wǎng)絡(luò)共享或使用U盤、移動(dòng)硬盤拷貝均可),然后打開(kāi)數(shù)據(jù)庫(kù)軟件,先將數(shù)據(jù)庫(kù)文件復(fù)制進(jìn)你指定的一個(gè)文件夾,然后再打開(kāi)數(shù)據(jù)庫(kù)軟件點(diǎn)附加數(shù)據(jù)庫(kù)

sql server 怎么遷移數(shù)據(jù)庫(kù)

1、真心不建議你遷移系統(tǒng)數(shù)據(jù)庫(kù),太麻煩了。就一個(gè)系統(tǒng)用戶賬號(hào)就夠你累的了。

2、我一般都是在新計(jì)算機(jī)上安裝新的SQL服務(wù)實(shí)例,然后逐個(gè)遷移用戶數(shù)據(jù)庫(kù)

3、只需要向用戶貼出安民告示即可,也就半個(gè)小時(shí)到1一個(gè)小時(shí),基本上全部搞定。

若非要遷移,那么你可以這樣做:

首先遷移master數(shù)據(jù)庫(kù),master數(shù)據(jù)庫(kù)是整個(gè)SQL Server實(shí)例的核心,所有的設(shè)置都存放在master數(shù)據(jù)庫(kù)里,如果master數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題,整個(gè)實(shí)例都將癱瘓。首先打開(kāi)SQL Server Configuration Manager,在左邊的列表框中選中SQL Server Services節(jié)點(diǎn),然后在右邊的列表框中找到需要遷移系統(tǒng)數(shù)據(jù)庫(kù)的實(shí)例的那個(gè)SQL Server服務(wù),比如說(shuō)SQLServer(MSSQLSERVER),停止這個(gè)實(shí)例的服務(wù)(不會(huì)停的去菜場(chǎng)買塊豆腐撞死算了),然后右鍵單擊,選中最底下的“Properties”,并且切換到“Advanced”標(biāo)簽,如下圖所示:

看到“Startup Parameters”了吧,這里的參數(shù)就是需要我們更改的。如下圖所示:

把這段字符整理一下就是這樣:

-dC:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf;

-eC:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;

-lC:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf

基本上看出來(lái)了吧,“-d”后面的就是master數(shù)據(jù)庫(kù)數(shù)據(jù)文件的位置,“-e”是該SQL Server實(shí)例的錯(cuò)誤日志所在的位置,至于“-l”就是master數(shù)據(jù)庫(kù)日志文件所在的位置了。修改數(shù)據(jù)文件和日志文件的路徑到適當(dāng)為位置,錯(cuò)誤日志的位置一般不需要做變更,例如將數(shù)據(jù)文件存放到D盤的SQLData文件夾下,日志文件存放到E盤的SQLLog文件夾下,則參數(shù)如下:

-dD:\SQLData\master.mdf;-eC:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;-lE:\SQLLog\mastlog.ldf

點(diǎn)擊“OK”保存并關(guān)閉對(duì)話框。

如何把sql server數(shù)據(jù)庫(kù)遷移到oracle

前陣做了下數(shù)據(jù)庫(kù)遷移,從Sql Server2005遷移到Oracle

10g,這里說(shuō)一下遷移的方法。

Sql

Server和Oracle區(qū)別比較大,包括語(yǔ)法,字段類型,數(shù)據(jù)庫(kù)機(jī)制,配置管理方法等等,區(qū)別是全方位的,做遷移需要注意很多問(wèn)題,在遷移過(guò)程中也會(huì)遇到問(wèn)題,需要細(xì)細(xì)處理之。這里說(shuō)一下數(shù)據(jù)庫(kù)結(jié)構(gòu)的遷移,和遷移過(guò)程中注意的一些問(wèn)題。(當(dāng)然具體的數(shù)據(jù)庫(kù)遷移過(guò)程中可能問(wèn)題是不一樣的,具體問(wèn)題具體分析了)

遷移的方法是從Sql Server已有數(shù)據(jù)庫(kù)中生成出Oracle的建庫(kù)腳本,然后在Oracle數(shù)據(jù)庫(kù)上執(zhí)行。用到的生成工具是Power

Designer。

1、打開(kāi)PD(Power

Designer簡(jiǎn)稱,以下均使用PD),新建一個(gè)PDM(物理數(shù)據(jù)模型),DBMS選擇Microsoft SQL

Server2005,Model name起名叫做mssdb。

2、通過(guò)逆向工程將現(xiàn)有Sql

Server數(shù)據(jù)庫(kù)生成PDM

(1)選擇Database-Reverse

Engineer Database,配置數(shù)據(jù)源,選擇要遷移的數(shù)據(jù)庫(kù),輸入用戶名、密碼。

(2)選擇數(shù)據(jù)庫(kù),選擇用戶dbo下的所有表、視圖、存儲(chǔ)過(guò)程、方法、觸發(fā)器、序列等(由于Sql Server與oracle,數(shù)據(jù)庫(kù)概念上的區(qū)別,這里不需選擇用戶、角色)。

點(diǎn)擊OK,生成PDM。已經(jīng)建立過(guò)PDM的情況,這一步可以省略。

3、生成Oracle物理數(shù)據(jù)模型

選擇Tools-Generate Physical Data Model

(1)DBMS選擇Oracle

10g,輸入名稱:oradb。

(2)在Configure Model

Options配置中, Model Settings的TableView界面中,勾選Ignore

identifying owner。Oracle中用戶的概念與Sql Server不同,這里忽略owner。

(3)Selection標(biāo)簽,選擇需要生成的所有表、視圖、外鍵、存儲(chǔ)過(guò)程、方法、觸發(fā)器、序列等。

點(diǎn)擊確定,即生成了oracle 的PDM。

注意,在生成PDM的過(guò)程中可能不會(huì)一帆風(fēng)順,有可能會(huì)報(bào)錯(cuò)(比如提示對(duì)象長(zhǎng)度超限),這會(huì)導(dǎo)致生成失敗。這時(shí)需要根據(jù)具體錯(cuò)誤提示做相應(yīng)修改(可能需要多次調(diào)整,沒(méi)有辦法,誰(shuí)讓兩者差別這么大的呢)。

4、生成Oracle腳本

與Sql

Server不同的是,在Oracle里表名、字段名全部為大寫,若要單獨(dú)處理為小寫,需加上雙引號(hào)。而PD生成的腳本默認(rèn)是有雙引號(hào)的,這里需要修改默認(rèn)配置,去掉雙引號(hào)。

然后選擇oradb,然后選擇Database-Generate

Database,進(jìn)入數(shù)據(jù)庫(kù)生成界面

在Format標(biāo)簽下,去掉勾選Owner prefix,它將省掉建表語(yǔ)句前“dbo.”所帶來(lái)的麻煩;

在Selection標(biāo)簽下,選擇要生成腳本的各對(duì)象;

在Preview標(biāo)簽下,可以預(yù)覽預(yù)生成的腳本(表較多時(shí),切換會(huì)比較慢)。

點(diǎn)擊確定,即得到生成的腳本。

5、檢查與調(diào)整

腳本是PD自動(dòng)生成的,因?yàn)楸肀容^多,在oracle上直接去執(zhí)行難免會(huì)有錯(cuò)誤。所以在執(zhí)行之前需要檢查下腳本的正確性。這里提幾點(diǎn)需要注意的地方。

(1)Oracle要求表名、字段名等長(zhǎng)度最多是30位,而Sql Server沒(méi)有這個(gè)限制,所以可能會(huì)有在Sql

Server創(chuàng)建正常的表而在Oracle下會(huì)創(chuàng)建失敗。

(2)檢查一下主鍵、外鍵的名稱,它們有可能是隨機(jī)生成的名稱??筛鶕?jù)相應(yīng)規(guī)范進(jìn)行修改。

(3)檢查字段名是否用到了Oracle的關(guān)鍵字。比如Sql

Server命名“備注”字段可能會(huì)用“comment”、標(biāo)題用“title”,但comment、title在Oracle中是關(guān)鍵字,不可以做為字段名稱。

(4)存儲(chǔ)過(guò)程、方法是否符合Oracle語(yǔ)法。

(5)Sql

Server有自增字段,而Oracle沒(méi)有。要實(shí)現(xiàn)此功能,需要相應(yīng)創(chuàng)建序列、觸發(fā)器。

(6)Sql

Server中字段類型為text的情況,如果是存二進(jìn)制數(shù)據(jù)需要在Oracle中選用Blob字段類型。

(7)Sql

Server有外鍵的情況,主表記錄刪除,從表記錄也會(huì)跟著刪除;而Oracle默認(rèn)情況是當(dāng)從表有記錄時(shí),所對(duì)應(yīng)的主表記錄不允許刪除。所以這種情況下外鍵需要添加外鍵級(jí)聯(lián)刪除。

(8)生成的表、視圖等個(gè)數(shù)是否正確,缺失的情況可單獨(dú)生成腳本。

系統(tǒng)不一樣,出現(xiàn)問(wèn)題的點(diǎn)可能也不一樣,具體問(wèn)題具體分析。

6、建庫(kù)

在Oracle數(shù)據(jù)庫(kù)服務(wù)(當(dāng)然要先安裝好Oracle服務(wù)端、并建立數(shù)據(jù)庫(kù))orcl實(shí)例下,使用用戶sys登陸并創(chuàng)建用戶orauser,并將resource、connect角色賦給orauser(這里,orauser使用默認(rèn)表空間、默認(rèn)臨時(shí)表空間)。

用剛創(chuàng)建的用戶orauser登陸orcl數(shù)據(jù)庫(kù)服務(wù),執(zhí)行前面已經(jīng)生成的腳本,若干分鐘后腳本執(zhí)行完畢,觀察一下執(zhí)行過(guò)程中有無(wú)錯(cuò)誤產(chǎn)生,也可以記錄執(zhí)行的日志以便日后查看;檢查看表、視圖等個(gè)數(shù)與Sql

Server數(shù)據(jù)庫(kù)中是否一致。如果都正確,那么,數(shù)據(jù)庫(kù)結(jié)構(gòu)從Sql

Server到Oracle的遷移到此結(jié)束。當(dāng)然,遷移的是否正確還需要在之后的使用中檢查,發(fā)現(xiàn)錯(cuò)誤及時(shí)修改即可。

新聞名稱:sqlserver數(shù)據(jù)庫(kù)遷移,sqlserver2008數(shù)據(jù)遷移
分享地址:http://muchs.cn/article18/phejdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、服務(wù)器托管、網(wǎng)站內(nèi)鏈、軟件開(kāi)發(fā)品牌網(wǎng)站制作、定制開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司