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

来源:百度文库 编辑:神马文学网 时间:2024/05/20 20:55:42
上次写到如何导出数据结构和数据之后([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\test.sql
db2 commit work
db2 terminate
其中特别注意,第一,如果不是多个schema,则可以不用第二行。第二,第三行中的参数-tvf,解释如下,
-f 读取输入文件
-t 设置语句终止字符
-v 回送当前命令
如果文件中每个语句是直接以回车结尾,则用-vf即可,加上-t是表示没条语句以“;”结尾。