导入、装载和导出DB2数据库的数据


  DB2中每次插入一行数据会花费很长时间,尤其是对于有数千职员或数百万次客户交易的大公司。导入和装载实用程序可以简化这个任务。另外,有时候需要将数据从表中取出,并放进数据文件供进一步分析和处理。导出实用程序在这种情况下是有帮助的。导入、装载和导出数据实用程序还可以用来将数据从一个表转移到另一个表,或者从一个下载 部分提供的 zip 文件中包含这个文件)填充 HWLD.AUTHOR 表。与导入相关的消息会放入消息文件 C:\DB2\hellowld\import.msg。

  3、在 Columns 选项卡上,输入寻找 XML 列所用的路径。

  图2. 导入表 —— Author

  

  可以点击 Show Command 查看完整的导入语句,如果需要,还可以保存这个语句。应该会返回消息 DB20000,这表示一切正常。

  4、使用装载命令填充 HWLD.MODULE 表。右击 MODULE 表并选择 Load。

  5、在 Load 向导中选择 Append data to table。点击 Next。

  6、找到文件 module.del,从而提供输入文件的完整路径和文件名,然后指定消息文件。

  图3. Load 向导 —— 文件

  

  7、点击 Summary。可以查看并保存装载语句,以便在命令行上运行。如果点击 Finish,这个命令应该会成功执行,会看到显示 DB20000 消息的消息窗口。

  8、验证数据完整性并查询数据。

  9、因为 Module 表定义了完整性约束,所以在运行装载实用程序之后,必须验证完整性,否则不能访问这个表。为此,从 Command Editor 运行 SET INTEGRITY 语句。设置完整性检查会确保每一行都满足约束条件,并删除任何不满足条件的行。

  10、选择 MODULE 表并点击 Query。

  图4. 查询 HWLD.MODULE 表

  

  运行了这个表的默认语句 SELECT *。

  11、在选择语句之前,添加以下 SET INTEGRITY 语句:

------------------------------ Commands Entered ----------------------------- 

set integrity for hwld.module immediate checked; 

SELECT * FROM HWLD.MODULE; 

----------------------------------------------------------------------------- 

set integrity for hwld.module immediate checked 

DB20000I The SQL command completed successfully. 


SELECT * FROM HWLD.MODULE 


MODULE_ID MODULE_NAME 

----------- -------------------- 

1 DB2 UDB 

2 WebSphere 

3 Tivoli 

4 Eclipse 

5 Rational 

6 Lotus Notes 

7 Web Commerce 


7 record(s) selected. 

  12、装载 HWLD.PARTICIPANT 表。在 Control Center 中,右击 PARTICIPANT 表并选择 Load。按照图 34 选择装载选项,这与对 HWLD.MODULE 表的操作相似。文件 participant.del 也包含在 下载 部分提供的 zip 文件中。

  图4. Load 向导

  

  13、同样,因为 Participant 表定义了引用约束,装载操作会使它进入检查未决状态,所以在验证所有行之前不能访问它。

  14、点击 PARTICIPANT 表并选择 Query。在选择语句之前,输入 SET INTEGRITY 语句。修改选择语句,让它只选择 ID 为 4 的参与者的参与者名称、ID 和测试分数:

------------------------------ Commands Entered ----------------------------- 

set integrity for hwld.participant immediate checked; 

SELECT PAR_NAME, PAR_ID, PAR_TEST_SCORE FROM HWLD.PARTICIPANT where PAR_ID=4; 

----------------------------------------------------------------------------- 

set integrity for hwld.participant immediate checked 

DB20000I The SQL command completed successfully. 


SELECT PAR_NAME, PAR_ID, PAR_TEST_SCORE FROM HWLD.PARTICIPANT where PAR_ID=4 


PAR_NAME PAR_ID PAR_TEST_SCORE 

----------------------------------------- -------------------- -------------- 

mike 4 60 

mike 4 80 


2 record(s) selected.

  15、既然已经填充了表,就该将数据导出到数据文件了。为了选择要导出数据的表,右击 AUTHOR 表并选择 Export。以下窗口打开:

  图5. 导出表

  

  16、按照上图所示输入必要的信息。在 Columns 选项卡上,选择将每个 XML 文件放在单独的文件中。可以点击 Show Command 查看并保存命令,供以后在命令行上使用。

  应该会看到 DB20000,这表示一切正常。

  17、输出文件是 C:\DB2\hellowld\user1_author.del。user1_author.del 文件的内容如下:

"Claire",1,"DB2 UDB ","<XDS FIL='author.del.001.xml'/>", 100 
"Renata",2,"DB2 UDB ","<XDS FIL='author.del.002.xml'/>", 98 
"Jane",3,"WEB COMMERCE ","<XDS FIL='author.del.003.xml'/>", 89 

  注意,MODULE_NAME 列被填充到 20 个字符。另外,XML 文档实际上不在 DEL 文件中,这里只有一个引用(XDS),它指向包含 XML 数据的文件。

  下面是 author.del.001.xml 的内容(为了便于阅读,已经调整了格式):

<?xml version="1.0" encoding="UTF-8" ?> 
<author_info> 
<name>Claire</name> 
<ID>1</ID> 
<department> 
<department_title>DB2 CE</department_title> 
<responsibility>Supporting customer problems</responsibility> 
<start_year>2005</start_year> 
</department> 
<department> 
<department_title>DB2 Index Manager</department_title> 
<responsibility>Develop new features for DB2 indexes</responsibility> 
<start_year/> 
</department> 
</author_info> 

  如果使用 Web 浏览器查看 XML 文档,会看到:

  图6. XML 数据

  


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3