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

“湊整法”在跨數(shù)據(jù)庫產品批量數(shù)據(jù)遷移過程中的應用

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

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

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

中圖分類號: TP311 ? ?文獻標識碼: B ? ?DOI:10.3969/j.issn.1003-6970.2020.06.035

本文著錄格式:張雨萌.“湊整法”在跨數(shù)據(jù)庫產品批量數(shù)據(jù)遷移過程中的應用[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 ?引言

在生產實踐過程中,有時會在數(shù)據(jù)庫中出現(xiàn) ?某字段存在“不完整”數(shù)據(jù)的情況。而這些“不完整”數(shù)據(jù)的由來,基本上是由于應用程序在沒有校驗長度的情況下,將超出數(shù)據(jù)表字段長度的輸入 ?數(shù)據(jù)插入數(shù)據(jù)表,導致輸入數(shù)據(jù)被數(shù)據(jù)庫截斷。如果被截斷的數(shù)據(jù)屬于英文字符,截斷只影響該條數(shù)據(jù)記錄的準確性;而如果是中文漢字被截斷,該字 ?段會因字符集不同而在最后一位或者最后兩位出現(xiàn)不可見字符,不僅準確性受影響,此類“不完整”數(shù)據(jù)記錄也無法同“完整”數(shù)據(jù)記錄同步批量遷 ? 移到其他數(shù)據(jù)庫產品中。“不完整”數(shù)據(jù)樣例如表1所示。

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

1 ?湊整法

1.1 ?定義

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

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

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

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

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

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

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

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

1.2 ?湊整法處理過程

結合2.1,湊整法處理過程如下:

湊整法處理過程

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

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

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

2 ?實驗驗證

2.1 ?實驗環(huán)境

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

類型字段長度時會出現(xiàn)的截斷的情況;而Oracle工具sqldr會根據(jù)字符集按字節(jié)讀取中文字符數(shù)據(jù),如果在數(shù)據(jù)記錄的某個字段最后一位或最后兩位出現(xiàn)不可見字符時,slqldr會認為該字段未結束,進而將字段分隔符中的兩位或者一位認為是數(shù)據(jù)內容,導致該字段之后的數(shù)據(jù)無法正常解析,影響數(shù)據(jù)導入。

2.2 ?實驗過程

實驗過程

Sybase導出:

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

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

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

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

Oracle導入:

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

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

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

2.3 ?實驗結果

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

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

3 ?總結

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

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

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

參考文獻

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

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

[3] 皮祖成, 陳文, 馬龍, 等. 面向對象的無人機任務設備通信接收軟件設計[J]. 軟件, 2018, 39(7): 63-67.

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

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

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

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

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

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

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

[11] Jonathan Lewis. Oracle核心技術[M], 2013.

主站蜘蛛池模板: 亚洲a级在线观看| 欧美日韩一区二区三| 亚洲国产系列| 国产丝袜丝视频在线观看| 五月婷婷欧美| 成人蜜桃网| 国产无人区一区二区三区| www.国产福利| 伊人色在线视频| 亚洲免费三区| 精品伊人久久久久7777人| 欧美精品啪啪一区二区三区| 国产男女免费完整版视频| 亚洲香蕉久久| 国产制服丝袜91在线| 欧美视频二区| 伊人久久综在合线亚洲2019| 视频二区中文无码| 国产免费久久精品99re丫丫一| 久久亚洲国产视频| 5555国产在线观看| 好紧太爽了视频免费无码| 国产在线无码一区二区三区| 国产新AV天堂| 久久无码av三级| 小说区 亚洲 自拍 另类| 国产黄色爱视频| 色天堂无毒不卡| 美女扒开下面流白浆在线试听 | 亚洲精品动漫在线观看| 亚洲男人天堂网址| 久久综合干| 亚州AV秘 一区二区三区| 91色在线观看| 国产成人久久综合777777麻豆| 国产免费a级片| 成人国产精品一级毛片天堂| 精品成人免费自拍视频| 欧美成人二区| 激情無極限的亚洲一区免费| 九色最新网址| 久久久久人妻一区精品| 国产三级毛片| 91九色国产porny| 国产在线98福利播放视频免费| 欧美国产中文| 3344在线观看无码| 免费一级大毛片a一观看不卡| 91青青视频| 日本福利视频网站| 91麻豆国产精品91久久久| 日韩一区二区三免费高清| 免费a级毛片18以上观看精品| 亚洲国产精品VA在线看黑人| 亚洲av无码专区久久蜜芽| 亚洲中文精品久久久久久不卡| 尤物国产在线| 中文字幕永久在线看| 亚洲中文字幕av无码区| 欧美日本不卡| 噜噜噜久久| 亚洲无码免费黄色网址| 少妇高潮惨叫久久久久久| 色香蕉影院| 国产欧美另类| 色综合久久88| 99精品视频在线观看免费播放| 日本爱爱精品一区二区| 亚洲福利一区二区三区| 亚洲最大福利网站| 亚洲中文在线视频| 中文字幕2区| 亚洲精品在线影院| 久久不卡精品| 伊人久久精品亚洲午夜| 无码在线激情片| 日韩AV无码免费一二三区| 日韩黄色在线| 亚洲天堂久久新| 国产视频只有无码精品| 国产女同自拍视频| 日本不卡在线播放|