DB2數(shù)據(jù)庫所支持的外部文件格式與ASCII文件
此文章主要向大家講述的是DB2數(shù)據(jù)庫所支持的外部文件格式的講解之固定記錄長度的ASCII文件。DB2還支持固定長度的ASCII外部文件格式,有時(shí)也將這種格式的文件稱之為位置ASCII文件。
固定記錄長度位置的ASCII文件格式使用固定的字節(jié)偏移量來替代記錄分隔符以決定各個(gè)字段的界限。簡單的說,在這種文件格式下,文件中的每一個(gè)記錄(記錄中的每一個(gè)字段)都有固定的長度。
如第N條記錄的起始位置就是記錄的固定長度乘以N的乘積決定。所計(jì)算出來的值就是從文件起點(diǎn)算起的字節(jié)偏移量。不僅記錄行的長度是固定的,而且每條記錄中每個(gè)列的值的起始位置和終止位置也是相同的。即每個(gè)字段的長度是相同的。不過字段實(shí)際內(nèi)容沒有達(dá)到這個(gè)固定寬度的話,則往往是使用空格符來代替。
不過這個(gè)文件格式比起比起上面所講的定界的ASCII文件有很大的缺陷。如制作這個(gè)文件非常的麻煩,而且很容易出錯(cuò)。多輸入一個(gè)空格與少輸入一個(gè)空格都會(huì)導(dǎo)致數(shù)據(jù)庫導(dǎo)入錯(cuò)誤。如中文字符與英文字符所占的位置是不同的。如果數(shù)據(jù)文件中同時(shí)包含中文與英文字符的話,那么這個(gè)固定長度就很難控制。
所以說,筆者跟很多數(shù)據(jù)庫管理員一樣,并不建立采用這個(gè)固定長度的ASCII文件格式。如果一定要使用的話,那么也要采用專業(yè)的工具來轉(zhuǎn)換這個(gè)文件。如在Linux操作系統(tǒng)中,可以利用重定向符號(hào)來制作固定寬度的ASCII文件。
總之,如果手工建立這個(gè)文件的話,則出錯(cuò)的可能性很大?,F(xiàn)在的DB2數(shù)據(jù)庫系統(tǒng),雖然某些導(dǎo)入工具還支持這種格式的外部文件。但是在數(shù)據(jù)導(dǎo)出的時(shí)候,已經(jīng)放棄了這個(gè)格式。可見這種格式的文件正在退出歷史舞臺(tái)。
上述的相關(guān)內(nèi)容就是對(duì)DB2數(shù)據(jù)庫所支持的外部文件格式的講解之固定記錄長度的ASCII文件。的描述,希望會(huì)給你帶來一些幫助在此方面。
【編輯推薦】