执行:db2 -tvf 输出文件名.sql不行,求救~
想把windows上的db2数据库转移到linux上,在看了这里的贴子后按步骤执行:在windows上
db2look -d 数据库名 -e -c -o 输出文件名 此命令为导出库的结构,并生成一个输出文件名.sql的文件
db2 connect to 数据库名
db2move 数据库名export
将前步操作导出的所有文件传到linux上
编辑 输出文件名.sql,确保各TABLESPCE名称等一致
执行:db2 connect to 数据库名
而后执行:db2 -tvf 输出文件名.sql
但就在执行
db2 -tvf 输出文件名.sql的时候老是DB21007EEnd of file reached while reading the command.
不知道怎么回事,另外-tvf这几个参数的含义也不清楚。向大家请教一下,十分感谢!
执行:db2 -tvf 输出文件名.sql不行,求救~
db2 [db2-command | sql-statement |
[? ]]
选项:-a, -c, -e{c|s}, -finfile, -lhistfile, -n, -o, -p, -rreport, -s, -t,
-td;, -v, -w, -x, -zoutputfile。
选项 说明 缺省设置
-------------------------------------------------------------
-a 显示 SQLCA OFF
-c 自动落实 ON
-e 显示 SQLCODE/SQLSTATE OFF
-f 读取输入文件 OFF
-l 将命令记录到历史文件中 OFF
-n 除去换行字符 OFF
-o 显示输出 ON
-p 显示 db2 交互式提示 ON
-r 将输出报告保存到文件 OFF
-s 在命令出错时停止执行 OFF
-t 设置语句终止字符 OFF
-v 回送当前命令 OFF
-w 显示 FETCH/SELECT 警告信息 ON
-x 不打印列标题 OFF
-z 将所有输出保存到输出文件 OFF
注意:
使用 DB2OPTIONS 环境变量定制选项缺省值。
紧跟选项字母后的减号(-)使该选项关闭。
在交互方式或文件输入方式下使用 UPDATE COMMAND OPTIONS
更改选项设置。
语法: db2look -d DBname [-u Creator] [-s] [-g] [-a] [-t Tname1 Tname2...TnameN]
[-p] [-o Fname] [-i userID] [-w password]
db2look -d DBname [-u Creator] [-a] [-e] [-t Tname1 Tname2...TnameN]
[-m] [-c] [-r] [-x] [-l] [-f] [-o Fname] [-i userID] [
-w password]
db2look [-h]
-d: 数据库名:这必须指定
-a: 为所有创建者生成统计信息
-c: 不要生成模拟的 COMMIT 语句
-e: 抽取复制数据库所需要的 DDL 文件
-g: 使用图形来显示索引的页取装对
-h: 更详细的帮助信息
-m: 在模拟方式下运行 db2look 实用程序
-o: 将输出重定向到给定的文件名
-p: 使用简单文本格式
-r: 不要生成模拟的 RUNSTATS 语句
-s: 生成 postscript 文件
-t: 生成指定表的统计信息
-x: 生成“权限”语句 DDL
-l: 生成数据库布局:节点组、缓冲池和表空间
-f: 抽取配置参数和环境变量
-u: 创建者 ID:若 -u 和 -a 都未指定,则将使用 $USER
-i: 注册到数据库驻留的服务器时所使用的用户 ID
-w: 注册到数据库驻留的服务器时所使用的口令
执行:db2 -tvf 输出文件名.sql不行,求救~
就是想通过生成的ddl,批量的把表结构导到新建的数据库中,再把数据导进去。执行:db2 -tvf 输出文件名.sql不行,求救~
那时你的.SQL文件中每条命令中间没加分隔符DB2默认的是";"号,直接db2 -v -f就可以了
如果要自定义分隔符号 命令写成db2 -td自定义分隔符号 -v -f
执行:db2 -tvf 输出文件名.sql不行,求救~
如果是FTP传到LINUX服务器上的话一定要用ASC方式哦!执行:db2 -tvf 输出文件名.sql不行,求救~
多谢大家,现在就去试试。另外asc方式是什么东西?新手上路,大家多包涵。执行:db2 -tvf 输出文件名.sql不行,求救~
asc意思是以ASCII方式传送文件,另外还是bin方式,即以二进制方式传送!是FTP命令!
执行:db2 -tvf 输出文件名.sql不行,求救~
那个DDL的.sql文件是通过db2look命令生成的,因此它中间的分隔符db2的导入命令肯定认。默认;肯定是对的。可db2 -tvf 文件名.sql 就是不行。db2 -vf 文件名.sql就可以,不过出来一堆DB21034EThe command was processed as an SQL statement because it was not avalid Command Line Processor command.During SQL processing it returned:
SQL1024NA database connection does not exist.SQLSTATE=08003,我是先连接数据库再db2 -vf 文件名.sql的,怎么说连接不存在?傻了。另外数据文件我是用压缩工具打成tar包放在ftp上,然后linux中get下来,再解开的。我刚学linux,db2,麻烦大家了,谢谢。
执行:db2 -tvf 输出文件名.sql不行,求救~
对于用db2look生成的文件也可以用db2sql92 -d dbname -f filename的方式来执行。会更容易些。执行:db2 -tvf 输出文件名.sql不行,求救~
原帖由 "askimos" 发表:那个DDL的.sql文件是通过db2look命令生成的,因此它中间的分隔符db2的导入命令肯定认。默认;肯定是对的。可db2 -tvf 文件名.sql 就是不行。db2 -vf 文件名.sql就可以,不过出来一堆DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL1024N A database connection does not exist. SQLSTATE=08003,我是先连接数据库再db2 -vf 文件名.sql的,怎么说连接不存在?傻了。另外数据文件我是用压缩工具打成tar包放在ftp上,然后linux中get下来,再解开的。我刚学linux,db2,麻烦大家了,谢谢。
试一下:
1、确认sql文件分隔符是";"
2、把connect to db写到sql文件头
页:
[1]
2