db2 存储过程迁移方法
大家在迁移数据库时,存储过程一般也要迁移过去,但一般有两个问题:
1. 非常多存储过程有先后关系(存储过程调用存储过程),假设存储过程数量少,还能手动操作。假设量大,那真是要疯了。
2. 存储过程过大(行数过多),导致异常
这边有个方法,也许能够解决问题。
一. 导出存储过程
EXPORT TO G:/PROCUDURE/procudure.del OF del MODIFIED BY LOBSINFILE
SELECT 'SET CURRENT SCHEMA '||rtrim(procschema)||'@'||chr(10)||'SET CURRENT PATH = SYSIBM,SYSFUN,SYSPROC,'||rtrim(procschema)||' @'||chr(10)||text||chr(10)||'@'||chr(10)
FROM syscat.procedures WHERE PROCSCHEMA = 'ILS' ORDER BY create_time ;
运行以上导出语句,则是把schema为ils以下的存储过程导出为文件,由于有ORDER BY create_time。所以导出的顺序也是依照原有存储过程的顺序建立的。
运行完了,应该在G:/PROCUDURE看到两个文件
1. procudure.del
2. procudure.del.001.lob
如图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvendqX2xtc3M=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">
会出现procudure.del.001.lob这个文件,由于我这边有存储过程太大(使用MODIFIED BY LOBSINFILE)。所以导出为lob文件,这样不easy出错。
二. 导入存储过程
下一步当然是在其它db以下导入存储过程啦:
1. 命令行下进入到G:/PROCUDURE
2. 连接到要导入的db: connect to ilsdb user xxx用户 using xxxpassword
3. db2 -td@ -vf procudure.del.001.lob
ok。顺便看看log。有没有报错。
有报错,在运行一次(尽管是依照创建时间排序的,但不能保证有人后期改动过父存储过程,导致创建时间不正确)。
导入过程见图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvendqX2xtc3M=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">
打开后输入下面命令
db2 存储过程迁移方法的更多相关文章
- db2存储过程迁移
一.导出存储过程 EXPORT TO D:/PROCUDURE/procudure.del OF del MODIFIED BY LOBSINFILE SELECT 'SET CURRENT SCHE ...
- 数据库 SQL Server 到 MySQL 迁移方法总结
最近接手一起老项目数据库 SQL Server 到 MySQL 的迁移.因此迁移前进行了一些调查和总结.下面是一些 SQL Server 到 MySQL 的迁移方法. 1. 使用 SQLyog 迁移 ...
- DB2 存储过程创建、系统表
前段时间做了数据表拆分,进行数据迁移,用到一些SQL命令,语句记录下来 db2look是DB2用于生成数据库DDL语句的一个工具: 命令:db2look -d DBname -a -e -p -i u ...
- oracle 表迁移方法 (二) 约束不失效
DB:11.2.0.3.0 在oracle 表迁移方法 (一)中,只是move了一张普通的表,如果表的字段带有主键约束呢 ? [oracle@db01 ~]$ sqlplus / as sysdba ...
- Ubuntu Server搭建svn服务以及迁移方法【转】
转自:http://www.linuxidc.com/Linux/2013-05/84693.htm Ubuntu Server搭建svn服务以及迁移方法 采用apache+svn,http访问方式. ...
- jdbc调用存储过程的方法
----------------------------jdbc调用存储过程的方法---------------------------------------------------private ...
- Sql Server 带参数的存储过程执行方法
Sql Server 带参数的存储过程执行方法 Visual C# 动态操作 SQL Server 数据库实例教程(4):带参数的存储过程执行方法 上一篇文章介绍了带参数的SQL语句执行方法和不带参数 ...
- oracle常用函数以及调用入参为record的存储过程的方法,
转自:http://www.cnblogs.com/zhangronghua/archive/2007/08/20/862812.html SQL中的单记录函数1.ASCII返回与指定的字符对应的十进 ...
- GIT工程迁移方法总结
Git工程迁移方法总结 Git最近准备迁移一下位置,这里采用命令行的方式,做如下操作. 1.git init 初始化git仓库,这个时候发现本地文件夹多了个.git的文件夹. 2.git remot ...
随机推荐
- Android开发手记(15) 拨打电话和收发短信
1.Intent简介 Android组价之间的通信,由Intent来协助完成.Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到 ...
- 02-测试、文件读写、xml解析
测试 黑盒测试 测试逻辑业务 白盒测试 测试逻辑方法 根据测试粒度 方法测试:function test 单元测试:unit test 集成测试:integration test 系统测试:syste ...
- Hive学习之三 《Hive的表的详解和应用案例详解》
一.Hive的表 Hive的表分为内部表.外部表和分区表. 1.内部表,为托管表. 2.外部表,external. 3.分区表. 详解: 内部表,删除表的时候,数据会跟着删除. 外部表,在删除表的时候 ...
- C++简单工厂模式
核心思想:用一个工厂类根据不同的输入条件new出不同的派生类指针,然后由多态调用不同派生类中virtual函数,得到不同的结果 所有的判断处理在工厂类中完成,通过CreateFactory函数,根据不 ...
- hdu1142 A Walk Through the Forest( Dijkstra算法+搜索)
看到这道题,想起了我家旁边的山! 那是一座叫做洪山寨的山,据说由当年洪秀全的小妾居住于此而得名! 山上盛产野果(很美味)! 好久没有爬上去了! #include<stdio.h> #inc ...
- select options常用操作
1.判断select选项中 是否存在Value="value"的option元素 function jsSelectIsExitItem(objSelect,objItemValu ...
- 利用WebApi获取手机号码归属地
前述: 在WebApi中,涉及到一个重要的类,HttpWebRequest. 学习link:httpwebrequest详解 示例演示: 代码示例: 1.前端代码: @{ ViewBag.Title ...
- Netbeans8下 Weblogic EJB案例
1:接口 @Remote public interface XgmZzsNssb {} 2:实现 @Stateless(mappedName="XgmZzsNssbImpl") @ ...
- angular2 学习笔记 ( DI 依赖注入 )
refer : http://blog.thoughtram.io/angular/2016/09/15/angular-2-final-is-out.html ( search Dependency ...
- EMV卡复位应答的时间特性 ---ISO7816协议
1.冷复位的时间特性 图1 如图1所示: T0为200clk 从T0结束到RST变为高电平为40000-45000个clock 从RST变为高电平后,卡片必须在400-40000个clock之间应答, ...