999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

“湊整法”在跨數(shù)據(jù)庫(kù)產(chǎn)品批量數(shù)據(jù)遷移過程中的應(yīng)用

2020-08-13 07:17:51張雨萌
軟件 2020年6期

摘 ?要: 在跨數(shù)據(jù)庫(kù)產(chǎn)品進(jìn)行批量數(shù)據(jù)遷移時(shí),有時(shí)會(huì)遇到一些數(shù)據(jù)記錄因某個(gè)字段的數(shù)據(jù)最后一個(gè)字節(jié)或最后兩個(gè)字節(jié)數(shù)據(jù)為不可見字符而無(wú)法遷移的情況,如果此類數(shù)據(jù)記錄較多的話,將給數(shù)據(jù)遷移工作造成極大困擾和障礙。在本文中,作者采用“湊整法”實(shí)現(xiàn)了對(duì)此類批量數(shù)據(jù)遷移問題的解決,并通過兩個(gè)典型的數(shù)據(jù)庫(kù)產(chǎn)品進(jìn)行了驗(yàn)證。

關(guān)鍵詞: 批量數(shù)據(jù)遷移;不可見字符;湊整法

中圖分類號(hào): TP311 ? ?文獻(xiàn)標(biāo)識(shí)碼: B ? ?DOI:10.3969/j.issn.1003-6970.2020.06.035

本文著錄格式:張雨萌.“湊整法”在跨數(shù)據(jù)庫(kù)產(chǎn)品批量數(shù)據(jù)遷移過程中的應(yīng)用[J]. 軟件,2020,41(06):169170+207

【Abstract】: In the process of batch data migration across database products, sometimes some data records cannot be migrated because the last one byte or last two bytes of data of a field are invisible characters. If there are many records of such data, it will cause great troubles and obstacles to the data migration.In this paper, the author solves the problem of this kind of batch data migration by means of “rounding up” method and verifies it through two typical database products.

【Key words】: Batch data migration; Invisible characters; “rounding up” method

0 ?引言

在生產(chǎn)實(shí)踐過程中,有時(shí)會(huì)在數(shù)據(jù)庫(kù)中出現(xiàn) ?某字段存在“不完整”數(shù)據(jù)的情況。而這些“不完整”數(shù)據(jù)的由來(lái),基本上是由于應(yīng)用程序在沒有校驗(yàn)長(zhǎng)度的情況下,將超出數(shù)據(jù)表字段長(zhǎng)度的輸入 ?數(shù)據(jù)插入數(shù)據(jù)表,導(dǎo)致輸入數(shù)據(jù)被數(shù)據(jù)庫(kù)截?cái)唷H绻唤財(cái)嗟臄?shù)據(jù)屬于英文字符,截?cái)嘀挥绊懺摋l數(shù)據(jù)記錄的準(zhǔn)確性;而如果是中文漢字被截?cái)啵撟??段會(huì)因字符集不同而在最后一位或者最后兩位出現(xiàn)不可見字符,不僅準(zhǔn)確性受影響,此類“不完整”數(shù)據(jù)記錄也無(wú)法同“完整”數(shù)據(jù)記錄同步批量遷 ? 移到其他數(shù)據(jù)庫(kù)產(chǎn)品中。“不完整”數(shù)據(jù)樣例如表1所示。

其中,0X表示16進(jìn)制,而CA、E6、B5為對(duì)應(yīng)漢字在16進(jìn)制下的數(shù)據(jù)。

1 ?湊整法

1.1 ?定義

令“+”為字符串追加操作,“A”+“B”=“AB”;

令“–”為字符串刪除操作,“ABA”–“A”=“B”;

令“I”為字符串“ ??”,即“空格”+“空格”+“?”,其中“空格”和“?”都為英文半角字符;

令“←”為字段賦值操作,X←“A”的含義為將“A”賦值給字段X;

令len(X)為獲取字段X長(zhǎng)度的函數(shù);

令str(X)為獲取字段X內(nèi)容的函數(shù);

令trim(str)為去掉字符串str左右兩側(cè)空白符的函數(shù);

令ori為原始數(shù)據(jù)保存字段。

1.2 ?湊整法處理過程

結(jié)合2.1,湊整法處理過程如下:

湊整法處理過程

(1)加項(xiàng)湊整:令mod1←ori + I,其中,len(mod1) = len(ori) + 3;

(2)減項(xiàng)處理:令mod2←trim(str(mod1) - “?”)

(3)mod2即為最終數(shù)據(jù)

2 ?實(shí)驗(yàn)驗(yàn)證

2.1 ?實(shí)驗(yàn)環(huán)境

之所以選擇Sybase數(shù)據(jù)庫(kù)作為數(shù)據(jù)遷出數(shù)據(jù)庫(kù),是由于Sybase數(shù)據(jù)庫(kù)存在數(shù)據(jù)長(zhǎng)度超過varchar

類型字段長(zhǎng)度時(shí)會(huì)出現(xiàn)的截?cái)嗟那闆r;而Oracle工具sqldr會(huì)根據(jù)字符集按字節(jié)讀取中文字符數(shù)據(jù),如果在數(shù)據(jù)記錄的某個(gè)字段最后一位或最后兩位出現(xiàn)不可見字符時(shí),slqldr會(huì)認(rèn)為該字段未結(jié)束,進(jìn)而將字段分隔符中的兩位或者一位認(rèn)為是數(shù)據(jù)內(nèi)容,導(dǎo)致該字段之后的數(shù)據(jù)無(wú)法正常解析,影響數(shù)據(jù)導(dǎo)入。

2.2 ?實(shí)驗(yàn)過程

實(shí)驗(yàn)過程

Sybase導(dǎo)出:

(1)在Sybase中新建city_tmp表,字段名同city表一致,字段長(zhǎng)度改為varchar(10);

(2)將city表中每一條數(shù)據(jù)的cityname字段內(nèi)容拼接“ ??”后插入到city_tmp;

(3)使用Sybase的bcp工具導(dǎo)出city_tmp表到文件export_tmp;

(4)使用sed命令對(duì)export_tmp文件采取刪 ?“?”操作,并生成新的文件export_data;

Oracle導(dǎo)入:

(5)在Oracle中新建city、city_tmp表,字段名同city表一致,字段長(zhǎng)度為varchar(9);

(6)使用Oracle的sqlldr工具將文件export_ data導(dǎo)入city_tmp;

(7)將city_tmp中的數(shù)據(jù)導(dǎo)入到city表,導(dǎo)入過程中,要對(duì)cityname增加trim操作。

2.3 ?實(shí)驗(yàn)結(jié)果

經(jīng)驗(yàn)證,sybase數(shù)據(jù)庫(kù)的city表數(shù)據(jù)成功導(dǎo)入到oracle中。在oracle數(shù)據(jù)庫(kù)的city表中,cityname字段最后一個(gè)漢字雖然為亂碼,但是考慮到原始數(shù)據(jù)的信息已經(jīng)不準(zhǔn)確,導(dǎo)入之后的數(shù)據(jù)已經(jīng)最大化保證了數(shù)據(jù)的可用性和準(zhǔn)確性。

經(jīng)實(shí)驗(yàn)驗(yàn)證,“湊整法”應(yīng)用于跨數(shù)據(jù)庫(kù)產(chǎn)品批量數(shù)據(jù)遷移是有效、可行的,其過程可用圖1表示。

3 ?總結(jié)

如果應(yīng)用系統(tǒng)使用的數(shù)據(jù)庫(kù)產(chǎn)品存在截?cái)鄼C(jī)制,且應(yīng)用系統(tǒng)未對(duì)輸入信息進(jìn)行長(zhǎng)度校驗(yàn)的話,保存輸入信息的字段中包含不可見字符是大概率事件。對(duì)于這些存在不可見字符的數(shù)據(jù),其在后續(xù)的跨數(shù)據(jù)庫(kù)產(chǎn)品數(shù)據(jù)遷移過程中也將給遷移過程帶來(lái)困擾和障礙。

本文使用“湊整法”來(lái)解決此類數(shù)據(jù)的遷移問題,經(jīng)實(shí)驗(yàn)證明是可行的、有效的。通過解決此類數(shù)據(jù)的跨數(shù)據(jù)庫(kù)數(shù)據(jù)遷移問題,最大程度地保證了數(shù)據(jù)的可用性和準(zhǔn)確性,其實(shí)踐價(jià)值和參考意義都是重大的。

數(shù)據(jù)完整性、準(zhǔn)確性的意義無(wú)須贅言,筆者作為一線工程師,建議應(yīng)用系統(tǒng)開發(fā)者,嚴(yán)格依照“接口文檔”或者“設(shè)計(jì)文檔”的要求,對(duì)輸入信息進(jìn)行包含格式和長(zhǎng)度的校驗(yàn),從信息入口扎緊籬笆墻,過濾掉問題數(shù)據(jù)。

參考文獻(xiàn)

[1] 趙桔青, 陶福壽. 基于GIS的城鎮(zhèn)土地資源承載力評(píng)價(jià)[J]. 軟件, 2018, 39(7): 52-56.

[2] 高新, 袁健華. 橢圓方程最優(yōu)控制問題的數(shù)值算法研究[J]. 軟件, 2018, 39(7): 57-62.

[3] 皮祖成, 陳文, 馬龍, 等. 面向?qū)ο蟮臒o(wú)人機(jī)任務(wù)設(shè)備通信接收軟件設(shè)計(jì)[J]. 軟件, 2018, 39(7): 63-67.

[4] 莊亞飛, 李素敏. 基于Python的ArcGIS數(shù)據(jù)屬性值順序碼處理研究[J]. 軟件, 2018, 39(7): 68-71.

[5] 師海忠, 陳璐璐. k次Herschel?????????????????????????????—師連通圈網(wǎng)絡(luò)[J]. 軟件, 2018, 39(7): 72-78.

[6] 貢智兵, 王祖進(jìn). 城軌門系統(tǒng)接觸參數(shù)實(shí)驗(yàn)獲取方法研究[J]. 軟件, 2018, 39(7): 79-83.

[7] 李天賜, 田精白. 基于SSH框架衛(wèi)生科技成果申報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件, 2018, 39(7): 84-88.

[8] 陳星, 趙佳萌, 宣軍法. 移動(dòng)應(yīng)用自動(dòng)化兼容性測(cè)試方法綜述[J]. 軟件, 2018, 39(7): 89-94.

[9] 傅濤. 基于源碼與二進(jìn)制文件的漏洞挖掘技術(shù)[J]. 軟件, 2018, 39(7): 95-97.

[10] 文平, 楊麗英. Sybase數(shù)據(jù)庫(kù)在UNIX、Windows上的實(shí)施和管理[M], 2010.

[11] Jonathan Lewis. Oracle核心技術(shù)[M], 2013.

主站蜘蛛池模板: 午夜国产精品视频| 国产精品自拍露脸视频 | 亚洲精品午夜天堂网页| 国产欧美性爱网| 亚洲视频a| 亚洲福利一区二区三区| 香蕉久久国产超碰青草| 欧美一区二区丝袜高跟鞋| 亚洲男人天堂2020| 国产一级裸网站| 永久免费av网站可以直接看的 | 亚洲日韩Av中文字幕无码| 亚洲国产高清精品线久久| 亚洲成A人V欧美综合| 亚洲制服丝袜第一页| 深爱婷婷激情网| 波多野结衣爽到高潮漏水大喷| 天堂av综合网| 精品撒尿视频一区二区三区| 国产亚洲高清在线精品99| 欧美精品成人一区二区在线观看| 国产精品无码久久久久久| 国产大片喷水在线在线视频| 亚洲综合九九| 亚洲永久视频| 幺女国产一级毛片| 国产99视频在线| 精品欧美视频| 欧美、日韩、国产综合一区| 国产激爽大片高清在线观看| 自拍偷拍欧美日韩| 日韩中文字幕亚洲无线码| 国内视频精品| 不卡无码h在线观看| 日a本亚洲中文在线观看| 日本欧美一二三区色视频| 欧美精品在线观看视频| 91亚瑟视频| 97在线公开视频| 欧美怡红院视频一区二区三区| 国产微拍精品| 久久精品亚洲热综合一区二区| 久草视频精品| 欧美激情一区二区三区成人| 99久久成人国产精品免费| 日本免费a视频| 亚洲最黄视频| 国产成人精品视频一区二区电影| 青青草综合网| 欧美国产在线看| 精品一区二区三区视频免费观看| 国产主播福利在线观看| 日本一本在线视频| 熟妇丰满人妻av无码区| 免费国产高清视频| 日韩一区精品视频一区二区| 国产综合精品日本亚洲777| 精品视频91| 99久久免费精品特色大片| 欧美综合在线观看| 欧洲亚洲欧美国产日本高清| 久久黄色小视频| 国产9191精品免费观看| 456亚洲人成高清在线| 国产网站在线看| 国产精品福利在线观看无码卡| 亚洲视频二| 五月婷婷精品| 一级毛片免费高清视频| 亚洲国产午夜精华无码福利| 亚洲精品自产拍在线观看APP| 亚洲国产清纯| 亚洲成网站| 亚洲男人的天堂在线观看| 国产午夜福利片在线观看| 日韩成人高清无码| 中文字幕在线观| 亚洲v日韩v欧美在线观看| 国产精品视频导航| 久青草国产高清在线视频| 精品天海翼一区二区| 亚洲全网成人资源在线观看|