`

Oracle和Informix中load、unload

阅读更多
1         Load导入数据文件

l        第一种情况
1)        informix方式

       dbaccess $DBNAME -<<EOF

       load from a.unl insert into areanumbe1

       EOF

2)        oracle方式

       PWD=`GetPwd $DBNAME`

       load "$DBNAME/$PWD" a.unl "|" "insert into areanumbel"

注意:不同于INFORMIX,此load 是手工编写的一个PRO*C程序。

l        第二种情况
1)        informix方式

       dbaccess $DBNAME -<<EOF

       load from $2 DELIMITER ',' insert into $TBL

       EOF

2)        oracle方式

       PWD=`GetPwd $DBNAME`

       load "$DBNAME/$PWD" "$2" "," "insert into $TBL"

l        第三种情况
1)        informix方式

       dbaccess $DBNAME -<<EOF

       load from $DATAFILENAME insert into Ser_Rights (ServiceKey,RightId,RightDesc,OperateRight);

       EOF

2)        oracle方式

       PWD=`GetPwd $DBNAME`

       load "$DBNAME/$PWD" "$DATAFILENAME" "|" "insert into Ser_Rights (ServiceKey,RightId,RightDesc,OperateRight)"

注意insert into 语句前面一个或几个单词必须与前面的分隔符等在同一行,后面可以换行(如上例)。如果没有分隔符(如空格,逗号等)一定要自己加上一个("|")。

2         Unload数据导出数据
l        第一种情况
1)        informix方式

       dbaccess  $DBNAME -<<EOF

       unload to ${DATABACKNAME}.$2 select ServiceKey,RightId,RightDesc,OperateRight from Ser_Rights where servicekey=$2;

       EOF

2)        oracle方式

       PWD=`GetPwd $DBNAME`

       unload "$DBNAME/$PWD" "$DATABACKNAME" "|" "select ServiceKey,RightId,RightDesc,OperateRight from Ser_Rights where servicekey=$2";

注意select语句前面一个或几个单词必须与前面的分隔符等在同一行,后面可以换行(如上例)。

不同于INFORMIX,此unload 是手工编写的一个PRO*C程序。

l        第二种情况
1)        informix方式

       dbaccess $DBNAME -<<EOF

       unload to $tmpfile DELIMITER ' ' select distinct scpno from pps_batch_toscp;

       EOF

2)        oracle方式

       PWD=`GetPwd $DBNAME`

       unload  "$DBNAME/$PWD" "$tmpfile" " " "select distinct scpno from pps_batch_toscp";

注意:如果没有分隔符(如空格,逗号等)一定要自己加上一个("|")。

如果要通过sqlplus来调用load和unload则需要在它们之前加感叹号(!)。例如:

l    第三种情况
1)        informix方式

       cat <<EOF > $1

       unload to $DATABACKNAME  select rightid,rightname,rightdesc,righttype,rightfather from op_rights;

       delete from op_rights;

       load from $DATAFILENAME      insert into op_rights(rightid,rightname,rightdesc,righttype,rightfather);

       EOF

       dbaccess $DBNAME loadrights.sql

2)        oracle方式

       cat <<EOF > $1

       !unload "$DBNAME/$PWD" "$DATABACKNAME" "|" "select rightid,rightname,rightdesc,righttype,rightfather  from op_rights";

       delete from op_rights;

       !load "$DBNAME/$PWD" "$DATAFILENAME" "|" "insert into op_rights (rightid,rightname,rightdesc,righttype,rightfather)";

       exit;

       EOF

       PWD=`GetPwd $DBNAME`

sqlplus $DBNAME/$PWD @loadrights.sql
分享到:
评论

相关推荐

    Oracle与Informix函数比较.doc

    本文将对 Oracle 和 Informix 两个流行的数据库管理系统中的函数进行比较,并介绍它们在实际应用中的使用场景。 一、字符串函数 Oracle 和 Informix 都提供了字符串函数来处理字符串数据。这些函数可以用来截取...

    DbVisualizer驱动文件(oracle和informix)

    标题中提到的"DbVisualizer驱动文件(oracle和informix)"是指DbVisualizer为了连接Oracle和Informix数据库所需要的特定驱动程序。Oracle驱动通常是ojdbc驱动,例如`ojdbc6.jar`或`ojdbc7.jar`,它包含了连接Oracle...

    oracle到informix数据库移植研究

    特别是在从Oracle迁移到Informix的过程中,不仅要考虑到两种数据库系统的结构差异,还需解决由不同运行环境、操作系统和硬件平台带来的挑战。 #### 数据库移植的重要性与复杂性 数据库移植远非简单的数据导出与...

    oracle gateway + informix安装配置文档

    1. **Oracle和Informix数据库的安装**:确保Oracle和Informix数据库已正确安装并配置。 2. **Oracle Gateway安装**:在Oracle端安装Oracle Gateway软件。 3. **配置dblink**:在Oracle数据库中配置dblink连接到...

    Informix迁移至Oracle数据库的研究.pdf

    - Oracle的DML(数据操纵语言)和DDL(数据定义语言)语法与Informix不同,部分Informix的关键字和内嵌函数在Oracle中可能不被支持。例如,DML语句的写法、条件判断的表达方式等都需要相应调整。 4. **DML关键字和...

    从informix迁移到oracle

    通过使用OMWB,可以将数据从Informix迁移到Oracle,整个迁移过程包括了准备迁移计划、获取数据源、创建和定制Oracle模板、迁移数据库、测试Oracle数据库、部署Oracle数据库等几个步骤。 迁移平台可以帮助用户从第三...

    java jdbc oracle informix sqlserver mysql

    JDBC 提供了一种统一的方式来访问各种类型的数据库,如Oracle、Informix、SQL Server和MySQL。 Oracle数据库是全球广泛使用的商业关系型数据库管理系统之一,以其高性能、高可用性和可扩展性而闻名。使用Java JDBC...

    oracle透明网关连接informix

    Oracle 透明网关连接 Informix 是一种技术方案,允许 Oracle 数据库系统通过透明网关与 Informix 数据库进行通信,从而实现跨数据库的数据交互。透明网关在此扮演了一个桥梁的角色,它将 Oracle SQL 语句转换为 ...

    程序逻辑抽取器-c/c++/esql/oracle/informix/mysql代码分析、查看工具

    《程序逻辑抽取器》-PLEA支持c/c++/esqlc,数据库支持Oracle/informix/mysql。 通过对源码的抽取,将函数,存储过程,以及它们的调用关系和数据操作形式以报告的形式呈现给使用者。 通过对函数、变量、宏、类型成员...

    oracle、db2、informix数据库的jdbc包

    JDBC(Java Database Connectivity)是Java平台中的一个标准接口,它允许Java应用程序连接到各种类型的数据库,包括Oracle、DB2和Informix。这个"oracle、db2、informix数据库的jdbc包"包含的就是这三个数据库的JDBC...

    python连接数据库程序包(Oracle Informix DB2)

    对于Oracle、Informix和DB2这三种数据库,Python都有对应的连接库。 1. **Oracle**: Python连接Oracle数据库最常用的库是`cx_Oracle`。这个库是Oracle公司官方支持的,它实现了Python DB-API(PEP 249),提供了与...

    3种数据库(DB2,Informix,Oracle)的常规操作.doc

    3种数据库(DB2,Informix,Oracle)的常规操作 公司内部文档,比较实用!

    INFORMIX迁移到ORACLE

    【INFORMIX迁移到ORACLE】的转换过程中,涉及到多个层面的技术细节,主要涵盖数据库对象的定义、SQL语法差异以及程序代码的调整。以下是对这些关键知识点的详细说明: 1. **日期字段**:INFORMIX中的datetime类型...

    经典SQL语句大全,oracle,informix,db2,mysql

    标题和描述中提到的经典SQL语句大全涵盖了Oracle、Informix、DB2和MySQL这四种主流的数据库管理系统。这些系统虽然有各自的特点,但在SQL语言的基本结构和操作上有很多共通之处。以下是一些核心的SQL知识点: 1. **...

    informix migration to oracle

    - **兼容性问题**:由于 Informix 和 Oracle 在语法和功能上存在差异,需要特别注意转换过程中的兼容性问题。 - **后期维护**:迁移完成后,应定期对 Oracle 数据库进行维护,确保其稳定运行。 #### 八、案例分析 ...

    Informix移植Oracle方法论.pptx

    在数据类型方面,Informix的serial类型可以模拟为Oracle中的number类型和sequence,而Char类型的处理也有所不同,Informix支持的最大字符长度小于Oracle的varchar2。对于Datetime/Date类型,Oracle提供了更丰富的...

    主流数据库分析比较(SQL Server ,Oracle、SYSASE,DB2,INFORMIX)

    在众多的数据库系统中,SQL Server、Oracle、SYBASE、DB2和INFORMIX是业界广泛使用的主流产品。以下是对这些数据库进行分析比较的一些关键知识点: 1. SQL Server:由微软公司开发,它是一款全面的数据库平台,支持...

    informix,oracle,sqlserver数据库数据移植工具

    例如,它可能需要处理Oracle的PL/SQL和SQL Server的T-SQL之间的语法差异,同时确保在Informix中特有的数据类型和特性的正确映射。 标签“数据移植”暗示了这款工具的核心价值。数据移植在各种业务场景中都至关重要...

Global site tag (gtag.js) - Google Analytics