发信人: garyjan()
整理人: chedong(2000-04-02 12:49:37), 站内信件
|
附2.2 Informix Software Developer Kit (SDK)
INFORMIX SDK 是 INFORMIX 提供的应用界面 ( API ) 的一个集合。 INFORM IX SDK允许用户利用本地化的各种界面,访问 INFORMIX服务器。 它集合了支持 JDBC 及 RMI 的JAVA界面,C++ 界面及符合 ODBC3.0 驱动器的 INFORMIX-CLI 和 INFORMIX-ESQL/C 应用开发界面。
INFORMIX SDK 使客户缩短了他们的开发时间,提高了代码的可重用度 , 减少了 开发队伍的培训时间。 利用 INFORMIX SDK,用户可快捷容易地加 入自己的高级 功能而不影响现有的系统的运行。
INFORMIX-CLI
INFORMIX CLI (call level interface) ,又称INFORMIX调用级接口,使得 应用 开发者可以动态地访问INFORMIX数据库服务器。基于Microsoft的开放的 数据库 互联结构(ODBC),INFORMIX-CLI提供给您一种基于工业标准的方式, 访问存放于 INFORMIX中的数据。
基于Microsoft开放式连接规则,INFORMIX-CLI的组成结合了标准的 SQL、强大而 灵活的自然的C调用界面以及开放的被广泛接受的ODBC API 规则。利用INFORMIX CLI,遵从ODBC标准的应用,可以通过开放的工业 标准访问INFORMIX的数据源。
INFORMIX CLI包含一组支持SQL的C语言函数调用库。采用INFORMIX CL I 写的应用,不用将SQL语句嵌入到INFORMIX CLI程序中,而是将SQL语 句作为一 组字串, 以函数变量的方式传入到 INFORMIX CLI 程序中。 利用 INFORMIX CLI,应用可以:
 申请一个与INFORMIX数据库的连接或对话;
 向数据库发送SQL请求;
 对请求返回结果,定义其数据格式及存储空间;
 取出SQL返回结果;
 报告错误信息;
 实施对事物的控制;
 结束与数据库的连接。
INFORMIX CLI 由两部分组成:给应用提供信息的驱动管理器及执行 函数调用与 管理应用与INFORMIX数据库之间的信息交换的驱动器。
INFORMIX CLI 驱动器支持所有核心级及level 1 API函数,并支持与 ODBC标准一 致的level 2 级函数(见表1所示)。INFORMIX CLI支持最小级及 核心级的SQL语法 ,包括一些扩展的SQL语句、表达式及数据类型。
INFORMIX CLI 有UNIX及Windows版本。所有版本均包含驱动器所需的 初始化文件 结构,函数,SQL语法及错误信息格式等。
INFORMIX CLI产品的特点
全球语言支持(GLS)
全球语言支持功能存在于INFORMIX 7.2及7.2以上版本,它可以操纵不 同的文化 背景、不同的语言及不同的字符集,而毋需区别其运行的地域及国家 。
遵从工业标准
INFORMIX CLI 是基于 ODBC 基础上的,因此它符合 X/Open 及 SQL Access Gr oup 组织的调用接口规则。ODBC及 X/Open 及 SQL Access Group 组织的调用接 口规则提供了一种遵从ANSI SQL标准的、公用的、开放的接口。 利用此接口,可 以访问任何的INFORMIX服务器。
支持INFORMIX客户端的开发
INFORMIX CLI 允许作为 INFORMIX 客户端的开发工具。当利用建立在 INFORMI X动态可伸缩性体系结构上的INFORMIX CLI作为工具时, INFORMIX 可以提供给开 发者INFORMIX自身所独有的特性 --- 一些高级的数据库访问的 API。例如:
 INFORMIX 数据类型,包括byte 及 text;
 INFORMIX 自身的SQL语句,包括高级数据定义语句;
 INFORMIX的隔离级别,包括提交读和游标固定;
 INFORMIX存储过程的SQL操作,包括查询、更新、插入及删除;
 INFORMIX自身的错误信息,包括SQLCA数据结构。
支持INFORMIX的开发工具及应用
INFORMIX CLI 可以被利用在成千上万的利用 INFORMIX 工具的 INFORMIX 应用 中。已经存在的遵循ODBC标准的应用,通过 INFORMIX CLI提供的ODBC技术,可 以连接到INFORMIX数据库服务器上。
含有INFORMIX-Connect 是 INFORMIX 客户端开发工具软件包 (SDK) 的组成部分 。INFORMIX-Connect允许任何的INFORMIX应用访问INFORMIX 数据库引擎。
INFORMIX-ESQL/C
使用嵌入式ESQL/C开发工具,编程人员可获得高效率,灵活性,移植性和标准化 。开发人员就可以用熟悉的第三代开发语言来开发应用程序,同时利用SQL 访问 数据。
INFORMIX - ESQL使开发人员可以获得访问高效的SQL数据库能力,包括 高级数据 定义和数据操作命令,以及SQL查询优化工具。另外,Informix -ESQL 符合 ANS I SQL 标准,因此,开发人员不必学习不同的数据访问方法,即可访 问 Infor mix数据库服务器及其它数据库服务器。
较少的代码
将 SQL 语义嵌入到第三代程序设计语言中可大大减少用于数据访问的代码 量。 当使用这种简短、类似英语的SQL语句时, 数据操纵的程序就变得快捷和 简单 。开发人员可以创建和修改数据库和表、获取和修改数据、增加索引,所 有这 些仅仅需要几行简短的SQL语句。
功能强大的命令
使用 SQL,高效就意味着功能强大。例如:仅用一个短小的数据定义语句 CREAT E DATABASE或CREATE TABLE, 就替代了过去用C语言建造数据库及 其相关对象的 所有的代码行。一个的命令如: SELECT、 INSERT、DELETE、 UPDATE 则可以进 行添加、删除、修改数据。
当开发人员需要将某一行代码作为ESQL 语句来处理时,只需要简单地将 EXEC S QL 放在希望处理的第一行代码行之前就可以了, INFORMIX-ESQL 的预编译器 将在程序中寻找SQL语句,并把它们封装在Informix的函数调用中。 Informix-E SQL 将引发3GL 编译器,编译并链接 Informix 函数库,最后生成可 执行的应用 。另外,Informix 预编译器允许编译纯3GL代码及目标文件。
类似英语的语句
表1给出了一个 INFORMIX-ESQL/C 应用程序代码例子,在这个例子中,所 有在 1 994年以前开始为公司工作的办事处经理都将获得提薪。
UPDATE、SELECT或DELETE语句的WHERE从句确定哪一行将被处理,WHERE 从句中包 含单个域、多个域的条件,联想条件,子查询等。 该例子表 示了一个与单个字 域条件相结合的子查询的条件。
兼容性
Informix ESQL与 ANSI SQL92入门级标准兼容。 这意味着开发人员建立的 应 用可以移植到其它环境下,或应用于不同的数据库服务器, 而无需修改代码 。 使用TCP/IP和IPX/SPX网络协议, 开发人员建立的应用可以用于Informix数据 库 和其它不同的数据库服务器中。当然,开发人员还可以利用Informix SQL。最 近 , Informix还增加了新的命令,以增加功能和灵活性。另外,Informix-ESQL 支 持X/OPEN的命令,如GET DIAGNOSTICS 和 ALLOCATE DESCRIPTOR , 以提供改善 应用代码的可移植性。
连接管理
同时使用高级的 ANSI 标准的CONNECT,SET CONNECTION和DISCON -NECT 语句, 应用开发人员可建立与多数据库服务器连接的应用。 使用这些 语句,用不同 的或动态的用户码和密码,应用可在多数据库环境下使用。例如 采用INFORMIX -ESQL, 事务可以在一个数据库服务器中挂起, 同时切换到另 一个数据库服务 器上单独执行。
客户机/服务器体系结构
一旦应用开发完毕, INFORMIX-ESQL 自动将 Informix 通讯函数库链接到 应用 中。这样,无需购买附加的产品,应用即含有网络功能,并可运行在客户 机/服 务器的环境中。
在最新的版本中,增加了新的语法,允许编程人员调整客户机/服务器通讯缓冲区 的大小,以获得更高性能。
内置INFORMIX -TP/XA功能
INFORMIX-TP/XA功能与INFORMIX -ESQL一起捆绑销售。
INFORMIX-TP/XA通过使用事务管理器,提供异种数据库环境下的两阶段 提交的能 力。INFORMIX TP/XA 是C语言的函数库, 用来建立数据库服务器和 事务管理器 的连接。当该函数库链接到用户的C语言应用程序中,这些程序将 通过X/Open XA接口与Informix数据库交换事务信息。
INFORMIX TP/XA和INFORMIX-ESQL 的集成提供如下好处:
 分布的,异种环境的事务管理
任何支持XA标准的数据库管理程序可参与全局事务,在事务中,事务管理器作为 两阶段提交协议中的协调者。
一个全局事务可能延伸到多系统上多个数据库服务器上, 甚至这些数据库 服务 器来自不同的厂商,并支持XA标准。
 大量用户数的可伸缩性
事务管理器使你增加更多的OLTP系统的用户数,而数据库所在的系统不会过载。 这是因为, 在客户机和服务器的应用程序间, 事务管理器就象一付缓和 剂。 即使很少量的应用和数据库服务器也能够高效支持大量用户数。
 可调节性能
事务管理器通常提供负载平衡和优先处理的工具。 对于某种数据库的请求 ,事 务管理器可自动平衡工作量。这就保证了一致的响应时间。
 高可用性
事务管理器包含许多增强可用性的内部功能。例如,当服务器进程异常中 断,请 求可能会转到另一个复制的服务进程中去。在某些情况下,事务管理器 可检测到 服务进程的失败,并通知客户机。由于信息队列独立于进程,所有排 队的请求将 转到复制的服务进程上。在不丢失事务的情况下,可完成恢复处理 。
 兼容性
INFORMIX - TP/XA可与Novell公司的TUXEDO事务管理器,Transarc 公司 的 Enc ina 事务管理器以及IBM 公司的CICS/6000事务管理器联合使用。
INFORMIX-Object Interface for C++
INFORMIX-Object Interface for C++允许用户通过单一的面向对象的应用界 面 (API) 利用C++访问INFORMIX数据库。 INFORMIX-Object Interface for C++ 针 对的是想利用面向对象的界面开发基于 SQL 应用 C++ 的开发者。它带给利 用 C++ 及 Microsoft Component Object Model (COM) 的开发者在 INFORMIX 服务 器上的可伸缩性及扩展性。 INFORMIX - Object Interface for C++ 将 INFORM IX 数据库服务器的特性, 通过不同层次的类得以表现。 Operation classes 提供 NFORMIX 数据库的访问,定义查询及返回结果的方法等。 Value interfac e是一组抽象的类,用以支持特殊应用的交互式行为,例如支持INFORMIX Dynami c Server with Universal Data Option 值对象。 INFORMIX-Object Interfac e for C++还支持 DataBlade的开发。开发者可将利用 C++ 的类产生的值 对象, 作为新的数据类型 定义于INFORMIX Dynamic Server with Universal Data Op tion中,利用 C-linkage 功能库或value interfaces聚蔟,对新的数据类型定义 应用的动态连接及统计等操 作。
INFORMIX-Object Interface for Java
INFORMIX-Object Interface for Java允许用户通过单一的面向对象的应用界 面 (API) 利用Java访问INFORMIX数据库。 INFORMIX-Object Interface for Java 针对的是想利用面向对象的界面开发基于 SQL 应用Java的开发者。它带给利用 Java的开发者在 INFORMIX 服务器上的可伸缩性及扩展性。 INFORMIX-Object Interface for Java支持数据类型及用户自定义的扩展。 INFORMIX - Object I nterface for Java包含INFORMIX-Driver For JDBC。 INFORMIX-Driver For JD BC提供一个标准的API,使得用户可以用纯Java API编写数据库的应用。
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.99.12.234]
|
|