[Tips]往DB2导入表结构,批量执行SQL文建表

时间:2007-08-22 08:55:02  来源:  作者:

 上次写到如何导出数据结构和数据之后([Tips]从DB2导出表结构与数据 ) ,现在终于抽时间写完如何导入表结构了。

首先是新建数据库,可以使用Control Center,也可以使用Command line,不过对于本次新建,我更加愿意使用Command Editor。
打开之后,可以直接写如下SQL文:

CREATE DATABASE MyDB2
    ON  'D:'
    USING CODESET IBM-eucJP
    TERRITORY JP
    COLLATE USING SYSTEM;

好像ON后面只识别到盘符,等成功以后,继续打开CE,在Target里选择‘MyDB2’,其实就是执行了‘connect to MYDB2 ;’,到了这里的目的是为了创建Schema,而Schema的概念即如每个家庭都有电视机,但是归属不同。
写入如下SQL: 

CREATE SCHEMA UT001 AUTHORIZATION MyDB2;
CREATE SCHEMA UT002 AUTHORIZATION MyDB2;

至此,数据库及Schema都已经建立完毕,开始导入建表的SQL文件了。如下图:



现在我们每就要开始执行建表文件了。这时可以用DB2 Command Line来操作。

可以直接在CE中写SQL文,然后直接执行。而如果是DDL导出SQL文,再这样一个一个执行的话,就会很烦恼的,此时,我建议使用批量处理,我们可以写一个bat文件,放置于IBMSQLLIBBIN 下:
 

db2 connect to MyDB2
db2 set current schema UT001
db2 -tvf D:DATAtest1.sql
db2 -tvf D:DATAtest.2sql
db2 commit work
db2 terminate

其中特别注意,第一,如果不是多个schema,则可以不用第二行。第二,第三行中的参数-tvf,解释如下,
-f    读取输入文件
-t    设置语句终止字符
-v    回送当前命令
如果文件中每个语句是直接以回车结尾,则用-vf即可,加上-t是表示没条语句以“;”结尾。

文章评论

共有 位网友发表了评论 查看完整内容