成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對DB2數據庫支持的外部文件格的正確認識

數據庫
以下的文章主要向大家描述的是如何對DB2數據庫所支持的外部文件格式有個比較全面的了解,其中也包括對定界的ASCII文件,固定記錄長度的ASCII文件等內容的描述。

以下的文章主要向大家描述的是如何正確對DB2數據庫所支持的外部文件格式有個比較全面的了解,在DB2維護中有項工作可能經常需要我們大家對其進行處理。如在數據庫投入生產使用之前,往往需要在數據庫中建立大量的信息。

這步工作很多都是通過數據導入來完成的,即將數據直接從某個文件中導入到數據庫系統中。不過在數據導入之前,DB2數據庫系統往往會對外部文件的格式進行仔細的檢查。

如果外部文件的格式不符合DB2數據庫的強制性要求,數據庫就會拒絕導入數據。筆者這次要給大家介紹的就是DB2數據庫支持哪些外部文件格式。希望通過這個分析能夠幫助數據庫管理員減輕數據導入導出過程中的工作量。

一、定界的ASCII文件。

定界的ASCII文件,在數據庫領域內應用的是比較廣泛的。基本上任何一個數據庫都支持這種格式的外部文件。不過各個數據庫對于定界ASCII文件的分隔符的要求是不同的。在DB2數據庫中,(提高DB2數據備份與恢復的效率)分隔符好用來標識數據元素的起始位置和結束位置。一般來說,DB2數據庫支持如下幾種分隔符。一是字符分隔符。

這個字符分隔符主要用來界定字符型數據類型的起始位置。默認情況下,在DB2數據庫中使用雙引號來作為字符分隔符。這個跟其他數據庫有所不同。如在Oracle數據庫中,利用定界的ASCII文件導入數據的時候,其會自動判斷數據是否是字符型的數據類型,即不需要使用這個字符分隔符。二是列分隔符,即用來界定字段的起始位置。

大部分情況下,都采用逗號(英文狀態)來作為列的分隔符。不過用戶可以根據自己的需要來設置不同的列分隔符,如冒號或者分號等等。無論是哪一種符號來做列分隔符,一般情況下都需要滿足一個前提條件,即必須是英文輸入環節下的符號。如果是中文狀態下的逗號或者分號,則會當作普通字符來對帶。三是行分隔符。

行分隔符是一個比較特殊的分隔符,因為其所采取的操作系統平臺不同,其采用的行分隔符是不同的。如在Windows操作系統上,行分隔符就是普通的換行符。而在Linux等操作系統上,雖然也是換行符,但是兩個操作系統上換行符是不同的。如在Linux操作系統上打開Windows操作系統上建立的定界ASCII文件,則格式會混亂。

如所有記錄在同一行中顯示,好像沒有分行一樣。為此在導入數據時,如果這個定界文件是在Windwos操作系統上建立的,而DB2數據庫則是不屬在Linux操作系統上,就無法正常導入導DB2數據庫中。而需要先對格式進行轉換,將換行符轉換為Linux操作系統所能夠識別的換行符。這一點數據庫管理員必須要引起足夠的重視。(在DB2數據庫里面如何更新執行計劃)

根據上面的規則,如下記錄就是DB2數據庫所能夠支持的格式:

 

  1. 1001,”office”,2323,”BeiJing”,-233 

注意,如果在外部文件中,字符串的值中包含列分隔符時(如逗號列分隔符),則這個字符串分隔符是必須的。也就是說,如果要導入的數據是字符型數據的話,必須要使用雙引號括起來。如果沒有列分隔符好的話,則這個字符串分隔符號可有可無。如Bei,Jing這個字符串,如果不用雙引號括起來的話,DB2數據庫系統就會認為他是兩個字段,而不是一個字符串。

此時就需要使用字符分隔符將其引用起來,告訴數據庫系統這是一個字符串。雖然這個定界的ASCII文件可以用來轉換大多數的數據類型,如字符型數據、數字型數據、日期型數據等等。但是如果外部文件中包含二進制數據的話,則采用這個定界的ASCII文件不是很好的選擇。

另外就是如果文件建立的平臺與DB2數據庫所在的平臺所采用的操作系統平臺不同,也不建立采用這個ASCII定界文件。如果遇到這種情況的話,筆者建立采用PC集成交換格式的外部文件。***需要提醒的是,在定界的ASCII文件中,數據行的***長度沒有限制。但是單獨列的值的***長度不能夠超過32KB。則只是從ASCII文件的角度來說的。在將文件導入到數據庫的時候,還需要注意DB2數據庫表中字段的大小能否容納這個外部文件中字段的值。

二、固定記錄長度的ASCII文件。

DB2數據庫還支持固定長度的ASCII外部文件格式,有時候也將這種格式的文件叫做位置ASCII文件。固定記錄長度位置的ASCII文件格式使用固定的字節偏移量來替代記錄分隔符以決定各個字段的界限。簡單的說,在這種文件格式下,文件中的每一個記錄(記錄中的每一個字段)都有固定的長度。如第N條記錄的起始位置就是記錄的固定長度乘以N的乘積決定。

所計算出來的值就是從文件起點算起的字節偏移量。不僅記錄行的長度是固定的,而且每條記錄中每個列的值的起始位置和終止位置也是相同的。即每個字段的長度是相同的。不過字段實際內容沒有達到這個固定寬度的話,則往往是使用空格符來代替。

不過這個文件格式比起比起上面所講的定界的ASCII文件有很大的缺陷。如制作這個文件非常的麻煩,而且很容易出錯。多輸入一個空格與少輸入一個空格都會導致數據庫導入錯誤。如中文字符與英文字符所占的位置是不同的。如果數據文件中同時包含中文與英文字符的話,那么這個固定長度就很難控制。

所以說,筆者跟很多數據庫管理員一樣,并不建立采用這個固定長度的ASCII文件格式。如果一定要使用的話,那么也要采用專業的工具來轉換這個文件。如在Linux操作系統中,可以利用重定向符號來制作固定寬度的ASCII文件。總之,如果手工建立這個文件的話,則出錯的可能性很大。現在的DB2數據庫系統,雖然某些導入工具還支持這種格式的外部文件。但是在數據導出的時候,已經放棄了這個格式。可見這種格式的文件正在退出歷史舞臺。

三、二進制格式的文件。

以上兩種文件有一個共同的特點,即都不是以二進制形式存儲的。為此他們在應用的時候會遇到一個兼容性的文件。如在Linux操作系統平臺上將某張表導出為ASCII文件。在Windows操作系統平臺上,無法將這個文件導入到DB2數據庫系統中。主要是因為同樣是ASCII文件,在不同的操作系統中(如Linux操作系統或者Windows操作系統),其存儲的格式是不同的。

為此通過ASCII文件是無法在不同的操作系統上進行數據互導的。其實不光光是DB2 數據庫遇到這種困擾,在Oracle數據庫也是如此。

為了解決問題,在DB2數據庫中涉及了二進制格式的外部文件。這個二進制格式的數據文件主要有兩種,分別為PC集成交換格式和工作表單格式。PC集成交換格式文件主要用于在不同的操作系統平臺上,如Linux、Windows操作系統平臺上的DB2數據庫表之間進行數據傳遞。

即通過這種格式的二進制文件,可以將數據從Linux操作系統上的數據庫中到出來,然后導入導Windows操作系統上的DB2數據庫中。這個文件主要的特點就是,其存儲的不光光是記錄的內容,還存儲了表結構的定義。而且因為是二進制格式的文件,所以在不同操作系統上可以容易的轉移,而不用擔心兼容性的問題。

另外一種二進制文件的格式是工作表單格式。這也是DB2數據庫產品的一種特殊的格式文件。這個工作表單格式文件的用途與PC集成交換格式的文件用途不同。PC集成交換格式文件主要用來解決的是不同操作系統平臺上數據遷移時的兼容性問題。

而這個工作表單格式的文件其主要用途則是用來解決DB2不同產品之間的數據遷移,如在DB2數據庫與Lotus產品之間的數據遷移。雖然他們同樣都是二進制文件,但是他們用途是不同的。為此數據庫管理員需要根據不同用途來選擇合適的文件格式。

【編輯推薦】

  1. DB2 V9.7新特征可以給你帶來哪些好處?
  2. DB2常用函數與Oracle有什么不同?
  3. DB2數據庫確定某個表的統計信息的收集時間的操作
  4. 快速的import或是load多個DB2主從表案例描述
  5. DB2 back 存檔使用與正確維護

 

責任編輯:佚名 來源: chinaitlab
相關推薦

2010-08-11 15:04:03

DB2備份

2010-08-04 17:10:37

DB2數據庫

2010-07-30 17:21:26

DB2數據庫編目

2010-08-18 14:52:01

DB2數據庫賬戶

2010-07-29 11:07:23

DB2分區兼容性

2010-08-03 11:39:08

DB2分區兼容性

2010-07-27 15:20:01

DB2數據庫

2010-05-17 09:35:10

MySQL 字符集

2010-09-28 14:23:29

網絡詐騙

2011-03-03 10:48:36

DB2數據庫外部文件

2010-02-24 09:47:05

Python 源文件

2011-05-19 10:29:40

對象數據庫關系數據庫

2010-07-27 13:34:08

DB2數據庫

2010-09-06 12:44:24

DB2數據庫

2011-05-26 10:52:41

DB2數據庫

2010-08-16 10:26:36

DB2數據庫

2010-09-06 09:28:19

DB2數據庫

2010-06-09 13:17:22

傳輸控制協議

2010-08-26 16:26:19

DB2數據庫外部文件

2010-08-02 14:14:13

DB2數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美在线色 | 中国美女一级黄色片 | 国产九九九九 | 中文字幕亚洲精品 | 久草在线在线精品观看 | 在线视频三区 | 欧洲一区二区三区 | 97伦理影院| 国产精品99久久久久久动医院 | 亚洲精品视频一区二区三区 | 欧美国产一区二区 | 色综合一区二区三区 | 精品久久久久久国产 | 免费黄色特级片 | 亚洲欧美日韩精品久久亚洲区 | 麻豆成人在线视频 | 国产一级片一区二区三区 | 夜夜爽99久久国产综合精品女不卡 | 精品一区二区三 | 精品免费在线 | 国产一区二区三区免费 | 国产女人与拘做受免费视频 | 91久久久久久| 91就要激情 | 国产精品视频免费看 | 久久精品网 | 激情免费视频 | 99精品久久久久 | 成人性视频免费网站 | 日本欧美大片 | 热99| 69堂永久69tangcom | 超碰免费观看 | av在线一区二区三区 | 91视频一区二区 | 国产一级大片 | 大乳boobs巨大吃奶挤奶 | 欧美日韩在线观看一区 | 日日夜夜影院 | a级在线免费观看 | 国产美女网站 |