开发学院数据库DB2 DB2实用程序介绍之EXPORT实用程序 阅读

DB2实用程序介绍之EXPORT实用程序

 2007-12-10 21:39:00 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹妞嬪孩顐芥慨姗嗗厳缂傛氨鎲稿鍫罕闂備礁婀遍搹搴ㄥ窗閺嶎偆涓嶆い鏍仦閻撱儵鏌i弴鐐测偓鍦偓姘炬嫹闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫鎾绘偐閹绘帞鈧參姊哄Ч鍥х仼闁诲繑鑹鹃悾鐑藉蓟閵夛妇鍘甸梺瑙勵問閸犳牠銆傛總鍛婄厱閹艰揪绱曟牎闂侀潧娲ょ€氫即鐛幒妤€绠f繝闈涘暙娴滈箖鏌i姀鈶跺湱澹曟繝姘厵闁绘劦鍓氶悘杈ㄤ繆閹绘帞澧涚紒缁樼洴瀹曞崬螖閸愬啠鍓濈换娑樼暆婵犱胶鏁栫紓浣介哺閹瑰洤鐣烽幒鎴僵闁瑰吀鐒﹂悗鎼佹⒒娴g儤鍤€闁搞倖鐗犻獮蹇涙晸閿燂拷濠电姷鏁告慨鐑藉极閸涘﹥鍙忔い鎾卞灩缁狀垶鏌涢幇闈涙灈鐎瑰憡绻冮妵鍕箻鐎靛摜鐣奸梺纭咁潐濞茬喎顫忕紒妯肩懝闁逞屽墮宀h儻顦查悡銈夋煏閸繃鍋繛宸簻鎯熼梺瀹犳〃閼冲爼宕濋敃鈧—鍐Χ閸℃鐟愰梺鐓庡暱閻栧ジ宕烘繝鍥у嵆闁靛骏绱曢崢顏堟⒑閹肩偛鍔楅柡鍛⊕缁傛帟顦寸紒杈ㄥ笚濞煎繘鍩℃担閿嬵潟闂備浇妗ㄩ悞锕傚箲閸ヮ剙鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘闂傚倸鍊搁崐鎼佸磹妞嬪孩顐芥慨姗嗗厳缂傛氨鎲稿鍫罕闂備礁婀遍搹搴ㄥ窗閺嶎偆涓嶆い鏍仦閻撱儵鏌i弴鐐测偓鍦偓姘炬嫹  闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柤鍝ユ暩娴犳氨绱撻崒娆掑厡缂侇噮鍨堕妴鍐川閺夋垹鍘洪悗骞垮劚椤︻垶宕¢幎鑺ョ厪闊洦娲栨牎闂佽瀵掗崜鐔奉潖閾忓湱纾兼俊顖氭惈椤矂姊洪崷顓涙嫛闁稿妫濋幆鈧い蹇撴祩濡嫰姊洪崫鍕拱婵炲弶岣块幑銏犫攽婵犲嫮鏉搁梺鍝勬川婵兘鎮伴妷鈺傗拻濞达絽鎼敮璺侯熆閻熷府鏀荤紒鍌氱Т楗即宕煎锝呬壕闁哄啫鐗嗙粈鍐┿亜韫囧海顦﹀ù婊堢畺閺屻劌鈹戦崱娑扁偓妤€顭胯閸犳牠婀侀梺缁樕戦悷銉р偓姘煎枤缁粯銈i崘鈺冨幈濡炪倖鍔戦崐鏇㈠几鎼淬劍鐓熼煫鍥ь儏閸旀粓鏌曢崶褍顏€殿喗娼欒灒闁告繂瀚濠碉紕鍋戦崐鎴﹀垂濞差亝鍋¢柍鍝勬噹缁犳牠鏌嶉埡浣告殲闁稿海鍠栭弻鏇㈠炊瑜嶇花濠氭煙閸戙倖瀚�
核心提示:EXPORT实用程序概述EXPORT实用程序使用一条SQL SELECT语句或XQUERY语句将数据从数据库表提取到一个文件中,数据可以被导出到DEL、IXF或WSF文件中,DB2实用程序介绍之EXPORT实用程序,建议在export中包括MESSAGES子句,以捕获导出过程中遇到的错误、警告和包含有用信息的消息,最好

EXPORT实用程序概述

EXPORT实用程序使用一条SQL SELECT语句或XQUERY语句将数据从数据库表提取到一个文件中。数据可以被导出到DEL、IXF或WSF文件中。建议在export中包括MESSAGES子句,以捕获导出过程中遇到的错误、警告和包含有用信息的消息。

要想成功地调用EXPORT实用程序,必须拥有SYSADM或DBADM权限,或者拥有EXPORT命令中所访问的表或视图上的CONTROL或SELECT特权。

对于DB2 9.1中新引入的基于标签的访问控制(LBAC)支持,需要注意LBAC凭证,它可能允许也可能不允许访问受保护的行和/或列。当从一个包含受保护行的表中导出数据时,LBAC凭证可能限制被导出的行。如果您不具备对某个行的读访问权限,那么就不能导出这个行。这种情况下并不会给出任何错误或警告。然而,如果LBAC凭证不允许读取导出中包含的一个或多个受保护的列,那么导出将失败,并返回一个错误。

我们来看看一个简单的导出的例子。下面的命令将SELECT语句的结果导出到一个DEL格式的文件中。消息文件msg.out用于记录有用的信息和遇到的错误或警告:

EXPORT TO myfile.del OF DEL
MESSAGES msg.out
SELECT staff.name, staff.dept, org.location
FROM org, staff
WHERE org.deptnumb = staff.dept;

文件类型修饰符

在前面的例子中,数据被提取到一个DEL格式的文件中。默认情况下,列值之间以逗号(,)隔开,字符串以双引号(")括起来。如果被提取的数据已经包含逗号和双引号,那么会怎么样呢?在这种情况下,导入或装载实用程序不可能确定哪些符号是实际的数据,哪些符号是分界符。为了定制EXPORT如何操作,可以使用MODIFIED BY子句,并指定您想用文件类型修饰符更改哪些方面。下面是带MODIFIED BY子句的EXPORT命令:

EXPORT TO file_name OF file_type
MODIFIED BY file_type_modifiers
MESSAGES message_file
select_statement

在Command Reference Guide中的EXPORT小节下,可以找到文件类型修饰符的完整列表。下面列出了一些常用的修饰符:

chardelx

指定x作为新的单字符字符串分界符。默认值是一个双引号(")。

coldelx

指定x作为新的单字符列分界符。默认值是一个逗号(,)。

codepage=x

指定x(一个ASCII字符串)作为输出数据的新的码页(code page)。在导出操作期间,字符数据被从应用程序码页转换成这种码页。

timestampformat="x"

x是源表中时间戳的格式。

考虑这个例子:

EXPORT TO myfile.del OF DELMODIFIED BY chardel! coldel@ codepage=1208 timestampformat="yyyy.mm.dd hh:mm tt"MESSAGES msg.outSELECT * FROM schedule

前面的命令按照以下方式将SCHEDULE表中的数据导出到DEL格式的文件中:

字符串以感叹号(!)括起来。
列之间以@符号分隔开。
将字符串转换成码页1208。

SCHEDULE表中用户定义的时间戳的格式为yyyy.mm.dd hh:mm tt。

用LOBSINFILE修饰符导出大型对象

当导出包含大型对象列的表时,默认情况下只能导出LOB数据的前32KB。对象的这一部分与其他列数据放在同一个文件中。为了完整地导出LOB数据,并将它们与其他列数据分别存储在不同的文件中,必须使用LOB选项。在DB2 V9.1中,可以指定是将多个LOB值连接起来并导出到同一个输出文件中,还是将每个LOB值导出到一个单独的文件中。

下面是一个带LOBSINFILE修饰符的EXPORT命令,该修饰符将导致导出实用程序将多个LOB值写到同一个输出文件中。

EXPORT TO file_name OF file_type
LOBS TO lobfile_directory_1, lobfile_directory_2, ...
LOBFILE lobfilename
MODIFIED BY LOBSINFILE
MESSAGES message_file
select_statement

LOBS TO子句指定LOB文件将被存储到的目录。如果没有发现LOBS TO子句,那么LOB数据将被存储到当前的工作目录。注意,在前面的命令中,可以指定不止一个路径作为LOB文件目标目录。每个LOB路径至少有一个文件,每个文件至少包含一个LOB。

有时候需要使用用户指定的文件名来标识被提取出来的LOB文件。LOBFILE子句可以用于这一目的。每个LOB文件将有一个序列号作为文件扩展名(例如lobfile.001、lobfile.002、lobfile.003等)。

当指定LOBS TO或LOBFILE选项时,将隐式地激活LOBSINFILE行为。但是,最好显式地指定LOBSINFILE修饰符,以避免与LOBSINSEPFILES修饰符行为混淆,稍后会谈到后一种修饰符。

1 2 3  下一页

Tags:DB 实用 程序

编辑录入:coldstar [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接