自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

DB2表格操作技巧之導(dǎo)出LOB數(shù)據(jù),很簡單!

數(shù)據(jù)庫
以下的文章主要描述的是DB2表格操作技巧之導(dǎo)出LOB數(shù)據(jù)的正確操作步驟,以下的文章主要描述的是DB2表格操作技巧之導(dǎo)出LOB數(shù)據(jù)的正確操作步驟,以下就是文章對其詳細(xì)內(nèi)容介紹。

下面的文章主要介紹的是DB2表格操作技巧之導(dǎo)出LOB數(shù)據(jù)的正確操作步驟,如果你對DB2表格操作技巧之導(dǎo)出LOB數(shù)據(jù)的正確操作步驟有興趣的話,你就可以對以下的文章點(diǎn)擊觀看了,以下就是文章的主要內(nèi)容的詳細(xì)描述。

如現(xiàn)在有一張員工信息的表(USER_INFO)表。在這張表中有三個(gè)字段,分別為員工編號、員工姓名、員工身份證復(fù)印件等等。由于員工身份證復(fù)印件其容量比較大,為此數(shù)據(jù)庫中采用的是LOB數(shù)據(jù)類型。

 

如現(xiàn)在有一張員工信息的表(USER_INFO)表。在這張表中有三個(gè)字段,分別為員工編號、員工姓名、員工身份證復(fù)印件等等。由于員工身份證復(fù)印件其容量比較大,為此數(shù)據(jù)庫中采用的是LOB數(shù)據(jù)類型。

 

當(dāng)需要將這張表格中的數(shù)據(jù)導(dǎo)出到特定文件中的時(shí)候,只要這些身份證復(fù)印件的容量超過32KB的話,則在導(dǎo)出的目標(biāo)文件中是看不到這些身份證復(fù)印件的。在導(dǎo)出的時(shí)候,系統(tǒng)會將這些身份證復(fù)印件保存在用戶指定的文件夾內(nèi)。而在導(dǎo)出地目標(biāo)文件中,只有這些復(fù)印件對應(yīng)的名字而已。所以說,如果一個(gè)表中有LOB數(shù)據(jù)類型,在導(dǎo)出到特定格式的文件中時(shí),就需要區(qū)別對待。

如果某張表帶有LOB類型的數(shù)據(jù),此時(shí)在書寫導(dǎo)出語句的時(shí)候,就需要特別的注意。如需要按如下的格式來書寫導(dǎo)出LOB數(shù)據(jù)的語句:

導(dǎo)出LOB數(shù)據(jù)表與普通表相比的一些特殊選項(xiàng)。

跟普通的導(dǎo)出語句相比,在導(dǎo)出帶有LOB數(shù)據(jù)類型的數(shù)據(jù)時(shí),在語句中多了Lob to d:\photo1,d:\photo2 Lobfile p1,p2 modifiled by lobsinfile這么一條語句。其中選項(xiàng)LOB TO定義的是LOB文件要存儲的路徑。在定義這個(gè)路徑的時(shí)候,用戶可以定義多個(gè)目錄。即可以指定一個(gè)使用逗號分隔符的目錄列表來定義其文件存儲的位置。

如果沒有定義目錄的話,則數(shù)據(jù)庫會采用當(dāng)前目錄作為這個(gè)LOB文件存儲的位置。跟普通的操作系統(tǒng)目錄一樣,不同目錄中的LOB文件名字可以不同。但是同一目錄中的LOB文件名字必須唯一。第二個(gè)需要指定的是LOB文件的命名規(guī)則。由于在導(dǎo)出數(shù)據(jù)的時(shí)候,會產(chǎn)生很多的LOB文件。而這些數(shù)據(jù)庫自動創(chuàng)建的文件必須要具有文件的名字。

此時(shí)數(shù)據(jù)庫管理員必須要指定這些LOB文件的命名規(guī)則。這個(gè)命名規(guī)則主要是利用可選項(xiàng)LOBFILE來確定。通過這個(gè)可選項(xiàng),數(shù)據(jù)庫管理員可以提高一個(gè)使用逗號分隔的基本名稱列表。操作系統(tǒng)就會根據(jù)這些名字來生成LOB文件的名字。需要注意的是,此時(shí)數(shù)據(jù)庫管理員提供的只是一個(gè)基本的名稱,或者說只是LOB文件名的前綴。

系統(tǒng)在生成LOB文件的時(shí)候,會自動在這個(gè)基本名稱(或者叫做前綴)的后面加上3位數(shù)字的擴(kuò)展。如上面筆者提供了p1作為LOB文件名的擴(kuò)展,那么其最后生成的文件名就可能使p1001、p1002等等。可見系統(tǒng)管理員提供一個(gè)文件前綴名,系統(tǒng)就會自動擴(kuò)展出999個(gè)可用的LOB文件名。因?yàn)椴僮飨到y(tǒng)會在LOB文件前綴后面加上3位阿拉伯?dāng)?shù)字的擴(kuò)展名。

這個(gè)選項(xiàng)跟目錄選項(xiàng)一樣是可選的。如果用戶沒有指定可用的文件基本名稱,則DB2表格操作技巧數(shù)據(jù)庫會以db2exp作為基本的文件擴(kuò)展名。然后在這個(gè)名字后面采用3位數(shù)字的擴(kuò)展名,生成1000個(gè)可用的LOB文件的文件名字。

最后需要注意的是,如果在將某個(gè)表導(dǎo)出到特定文件的時(shí)候,想要分離文件導(dǎo)出LOB的時(shí)候,即將LOB文件與其他信息分開存放,還需要在導(dǎo)出語句中加入一個(gè)特殊的關(guān)鍵字。二、確定可用的文件名。

在將LOB數(shù)據(jù)類型導(dǎo)出的時(shí)候,數(shù)據(jù)庫系統(tǒng)會在用戶指定的目錄中創(chuàng)建文件用來保存這些LOB數(shù)據(jù)類型。在數(shù)據(jù)庫中一個(gè)LOB數(shù)據(jù)段就需要創(chuàng)建一個(gè)文件。也就是說,如果表中有2個(gè)字段采用的是LOB數(shù)據(jù)類型,而這個(gè)表有2萬條記錄的話,那么在導(dǎo)出的時(shí)候就會創(chuàng)建4萬個(gè)文件。

而一個(gè)文件對應(yīng)一個(gè)文件名字,所以數(shù)據(jù)庫管理員必須要保證有4萬個(gè)可用的文件名字(注意不是文件基本名字)。如果在導(dǎo)出的時(shí)候,LOB數(shù)據(jù)類型太多,現(xiàn)有可用的文件名字不夠使用的話,那么導(dǎo)出作業(yè)就會以失敗告終。

為此在導(dǎo)出數(shù)據(jù)之前,數(shù)據(jù)庫管理員需要評估一下數(shù)據(jù)表中LOB數(shù)據(jù)段的數(shù)量。然后根據(jù)這個(gè)數(shù)量來確定到底需要有多少個(gè)可用的文件名字。然后根據(jù)這個(gè)數(shù)量來確定存儲的目錄與文件基本名稱的數(shù)量。如上面這個(gè)例子所示,最終的可用文件名字有多少呢?

首先數(shù)據(jù)庫管理員需要知道的,一個(gè)基本名稱可以通過三個(gè)阿拉伯?dāng)?shù)字?jǐn)U展,得到1000個(gè)文件名字。然后同一個(gè)文件名字可以在不同的目錄中使用。也就是說,上面指定的目錄中,目錄不同,文件名可以不同。只要保證同一個(gè)文件夾內(nèi)部要有重名的文件即可。

那么,兩個(gè)文件基本名稱,兩個(gè)目錄,再加上文件名字?jǐn)U展的話,可以得到4000個(gè)可用的文件名字。這里有一個(gè)簡單的計(jì)算公式,就是文件基本名稱的數(shù)量*定義目錄的數(shù)量*1000,最后得到的結(jié)果就是可用的文件名字?jǐn)?shù)量。如果最后生成的LOB文件的數(shù)量小于這個(gè)文件可用數(shù)量的話,那么就可以正常導(dǎo)出。

但是如果表中包含的LOB文件數(shù)量超過了這個(gè)可用的文件名數(shù)量,即使超過了一個(gè),也會因?yàn)槟康腖OB文件得不到可用的文件名字而導(dǎo)致導(dǎo)出失敗。當(dāng)失敗的時(shí)候,很難查詢到底是哪個(gè)LOB文件沒有導(dǎo)出。為此在導(dǎo)出之前,最好能夠預(yù)計(jì)到可能需要的文件名字?jǐn)?shù)量。

其實(shí)這個(gè)預(yù)算也是比較簡單的。至需要知道需要導(dǎo)出的表中有多少列是LOB數(shù)據(jù)類型的,然后再乘以記錄數(shù)即可。一般情況下,文件的可用數(shù)量只可以比實(shí)際的LOB文件多,而不能夠比起少。多了不會出文件,但是如果少了的話,則會導(dǎo)致數(shù)據(jù)導(dǎo)出失敗。

有時(shí)候?yàn)榱吮苊膺@個(gè)問題的出現(xiàn),數(shù)據(jù)庫管理員不得不增加LOB文件的目標(biāo)目錄,或者增加LOB基本文件名的數(shù)量,使得導(dǎo)出能夠?yàn)樗邪赟ELECT語句的結(jié)果集合中的LOB數(shù)據(jù)生成足夠多的文件名字。這里需要注意的是,數(shù)據(jù)庫管理員不可以增加擴(kuò)展的位數(shù)。即文件名擴(kuò)展只可以用到3位阿拉伯?dāng)?shù)字。

另外需要注意的是,由于LOB數(shù)據(jù)類型的數(shù)據(jù)都比較大,將他們導(dǎo)出到特定文件中的時(shí)候,往往需要花費(fèi)比較長的時(shí)間。為此筆者并不建議一下子就將導(dǎo)出LOB數(shù)據(jù)類型導(dǎo)出來。在Select語句中加入適當(dāng)?shù)南拗茥l件,可以分批導(dǎo)出LOB文件,以減少每次導(dǎo)出的時(shí)間。如導(dǎo)出所有員工的身份證復(fù)印件時(shí),可以按性別分為兩類或者按部分來進(jìn)行分類。

這有兩個(gè)好處。一是可以縮短每次導(dǎo)出的時(shí)間,即使中間遇到問題也可以控制在最小的范圍之內(nèi)。二是導(dǎo)出的LOB文件名是隨機(jī)的。為此分批導(dǎo)出的話,在尋找對應(yīng)LOB文件的時(shí)候,會方便許多。以上的相關(guān)內(nèi)容就是對DB2表格操作技巧之正確導(dǎo)出LOB數(shù)據(jù)的介紹,望你能有所收獲。

【編輯推薦】

  1. IBM DB2數(shù)據(jù)復(fù)制以及遷移,以實(shí)例講述
  2. Oracle數(shù)據(jù)庫中的dual表對應(yīng)DB2 SYSIBM
  3. Orac數(shù)據(jù)庫到DB2移植的正確破解方案
  4. Oracle到DB2數(shù)據(jù)移植中的操作與注意事項(xiàng)
  5. DB2數(shù)據(jù)庫實(shí)現(xiàn)Oracle功能的操作技巧與經(jīng)驗(yàn)

 

責(zé)任編輯:佚名 來源: UPS與機(jī)房
相關(guān)推薦

2010-09-06 09:13:42

DB2表格

2010-07-27 15:52:09

DB2數(shù)據(jù)移動

2009-07-22 09:01:54

導(dǎo)出LOB數(shù)據(jù)DB2

2010-07-27 15:44:21

db2建立databa

2015-10-23 16:35:11

DB2導(dǎo)出LOB

2010-09-07 11:34:37

DB2數(shù)據(jù)備份

2010-08-16 15:37:37

DB2 -964問題

2010-09-07 11:14:56

DB2配置向?qū)?/a>

2010-08-04 13:22:17

2010-08-09 14:07:10

DB2數(shù)據(jù)庫設(shè)計(jì)

2010-08-17 13:12:18

備份恢復(fù)DB2

2010-09-30 16:46:11

DB2操作語句

2010-08-02 14:34:53

DB2數(shù)據(jù)移動

2010-08-06 10:05:18

IBM DB2包重綁定

2010-08-02 10:39:17

DB2 admin管理

2010-08-10 13:24:44

?DB2代碼頁不兼容

2010-08-09 12:56:11

2010-08-18 11:06:23

連接DB2數(shù)據(jù)庫

2010-07-27 09:09:07

JDBC連接DB2

2010-08-09 09:50:29

整理DB2數(shù)據(jù)集
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號