informix数据库中批量导入部分表的数据到另外一个相同的数据库中
来源:互联网 发布:mac 识别usb2.0 编辑:程序博客网 时间:2024/04/29 18:24
一般在开发的时候,都有多个相同的数据库(比如测试环境可能有好几个(比如有开发人员使用的库,测试人员使用的数据库,还有正式环境的数据库等),但是使用的数据库是一样的,)。
现在有这样一个需求:在某个系统中,需要把该系统中的某个模块独立出来,成为一个单独的系统,但是数据还是用的老系统的数据。在新系统的开发的时候,避免不了对老系统的表结构作为更改,由于新系统还在开发中,用户使用的还是老系统,所以在新系统上线的时候,就涉及到导入数据的问题。
数据库是informix的,当时提取了老系统中需要往新系统到的数据文件,由于没有找到好的方法,所以使用的是一个个导入的。
load from /data/unload/informix.attachment.unl insert into attachment
其中attachment是表结构,attachment.unl 是informix数据库导出的数据文件(也就是表中的数据)
由于数据是从老系统的某模块导出的,而新开发的模块对表做了相应的修改,
导致有部分表的旧数据跟新表的表结构不对应,会出现错误,具体有如下一些表:
1.informix.tbl_test_certificateword
2.informix.tbl_test_giftnew
3.informix.tbl_test_group
4.informix.tbl_test_ingroup
5.informix.tbl_test_out_coursename
6.informix.tbl_test_outapplyto
7.informix.tbl_test_outgroupnum
8.informix.tbl_test_visagroup
9.informix.tbl_test_youqu
解决办法:
1.首先把现在数据库中的表的创建语句复制出来,作为备份 ,粘贴在winsql中
2.rename table tbl_test_youquto tbl_test_youqu2
使用如上语句把以前的表名称修改为另一个名字
3.对比以前对表做的操作,创建出符合原系统中新模块的表结构
4.然后使用load from /data/unload/informix.attachment.unl insert into attachment
导入数据(linux路径下区分大小写)
5.然后参考第一步中的表结构,修改现在新建的表结构(基本都是添加字段)
批量添加字段sql如下:
alter table informix.tbl_test_certificateword
add cert_birthdate VARCHAR(20),
add cert_certificatelevel VARCHAR(50),
add cert_takeplace VARCHAR(50),
add cert_belongcompany VARCHAR(50),
add cert_certificatetype VARCHAR(20)
方法2:(目前还没有测试)
在CSDN上,请教过比较熟练的朋友,说可以使用:
一般是将这100个load放到sql脚本里,然后直接执行:dbaccess 数据库名 sql脚本
英文分号分隔,最后一句后面也要有分号。
我把您说的意思这样理解:就是把100个
load from /data/unload/buss_type.unl insert into buss_type
这种语句放在一个后缀名是.sql 的文件(比如test.sql)里面,然后使用 dbaccess 数据库名 sql脚本?
ps:如果是我理解的这样的话,100个
load from /data/unload/buss_type.unl insert into buss_type
英文分号分隔,最后一句后面也要有分号。
)
参考:http://blog.csdn.net/oh_maxy/article/details/10507355#comments
- informix数据库中批量导入部分表的数据到另外一个相同的数据库中
- 将sqlserver2008数据库其中一个数据库的表导入到另外的数据库中
- 数据库向另外一个数据库中导入数据
- 把一个数据库的数据插入到另外一个数据库
- SQL数据库中把一张表从一个数据库中插入到另外一个数据库的一张表里
- 把一张表中某个的数据导入到另外一个表中的某个字段
- 将本地文件中数据批量导入到远程数据库中
- SQL中复制一个表到另外一个数据库中
- SQL中复制一个表到另外一个数据库中
- informix 把数据从一个表倒到另外一个表中
- 如何把批量数据导入到android 的 sqlite 数据库(更新中)
- 批量删除数据库中有相同前缀的表。
- 如何把一个数据中的表中的数据,插入到另外一个数据库中
- 把两个数据库中的两个表中,相同的字段的数据,从一个表复制到另一个表
- SQL将一个数据库的某一张表移动到另外一个数据库中(表的结构不变)
- java实现从一个数据库查询数据经过处理导入另外一个数据库中
- [DB] 数据库将一个表中数据插入到另外一张表中
- ②Excle数据批量导入到Oracle数据库中
- SRM 597 D2 L2:LittleElephantAndString
- linuxcast笔记:linux用户权限基础
- windows服务器环境下apache内存释放及死机问题解决办法一览
- C++ 内联函数
- pat 1007
- informix数据库中批量导入部分表的数据到另外一个相同的数据库中
- 如何使用KeyChain保存和获取UDID
- oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT
- android browser 的几个小feature (四) kitkat上实现UaProfile的设置
- Eclipse下User Library的发布 (解决启动tomcat的时候,就会报各种类找不到的错误)
- 用户态和内核态的概念区别
- ANDROID使程序进程不被LMK杀死
- iOS7 leftBarButton 和rightBarButton的位置偏差
- 微信公众平台