现在的位置: 首页 > 综合 > 正文

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

2013年08月07日 ⁄ 综合 ⁄ 共 856字 ⁄ 字号 评论关闭

 上次写到如何导出数据结构和数据之后([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文件,放置于IBM/SQLLIB/BIN 下:
 

db2 connect to MyDB2
db2 set current schema UT001
db2 -tvf D:/DATA/test1.sql
db2 -tvf D:/DATA/test.2sql
db2 commit work
db2 terminate

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

抱歉!评论已关闭.