SQLJ
是一种允许把静态的
SQL
语句以文本形式嵌入
Java
程序中的语言。在写一个
SQLJ
应用程序时,我们编写一段
Java
程序然后遵循某些特定的标准法则把
SQL
语句嵌入在其中,这些法则定义了
SQL
语句怎样写入
Java
程序(具体情况请看
Oracle 8i SQLJ
开发指南与参考
,
你可以在
Documentation Library
光盘上找到)。
接下来,我们运行一个
SQLJ
翻译器,通过把嵌入式结构化查询语句替换为调用调用
SQLJ
运行时程序库的方式把
SQLJ
程序转换成一个标准的
Java
程序。生成的
Java
程序就可以使用任何标准的
Java
编译程序
(
例如
javac)
来编译了然后就可以配合数据库使用了。
SQLJ
运行期环境是由一个瘦(即没有额外系统开销)
SQLJ
运行时程序库组成,也就是说用纯
Java
实现调用相应的数据库(
Oracle, DB2
等等)的
JDBC
驱动程序。
SQLJ
类似于其他的嵌入式结构化查询语言的实现
,
像
Oracle Pro * C (
嵌入
C
语言环境的
SQL)
。
SQLJ
语言设计的目的就是帮助基于
Java
的程序员构建数据库应用程序。
SQLJ
是一个
ISO
和
ANSI
标准,也就是说由领头的数据库与软件供应厂商开发和支持的,包括
ORACLE
数据库管理系统公司
,
国际商业机器公司
,
美国赛贝斯公司
, Informix
公司,美国康柏公司等。所有这些公司合作开发兼容的
SQLJ
翻译器来实现使用不同的数据库。
SQLJ
的优点
一个编译过的
SQLJ
应用程序是一个标准的
Java
程序,可以在任何具备三个组件的环境中运行,这三个组件是:
JVM, SQLJ
运行时程序库和
JDBC
驱动程序。
它提供了下列好处
∶
紧凑的代码
SQLJ
代码比
JDBC
代码更加紧凑并且无差错。在编译时对语法和语义进行检查。
SQLJ
编译器提供了类型检查和模式对象检查来找出在
SQL
语句中的语法错误或遗漏或拼错这样的错误,这是在编译过程中进行而不是在运行过程中进行。因此,使用
SQLJ
编写的程序比使用
JDBC
编写的程序更加健壮。
多厂商互用性
SQLJ
语法是由主要的软件供应厂商开发和支持的。因为
SQLJ
程序使用运行时
JDBC
调用访问数据库,所以
SQLJ
可以访问任何
JDBC
驱动程序可以实现的数据库服务器。
灵活的部署
因为
SQLJ
运行时程序库是基于
Java
的程序,所以
SQLJ
应用程序可以在任何
JDBC
配置环境中配置,例如瘦客户端,中间层或是数据库服务器上等。
供应厂商具体定制
SQLJ
通过后续的
Java
字节码的定制支持供应厂商具体产品的特色和扩展。它可以被用来改善
SQL
查询语言的执行性能,使用具体供应厂商提供的性能或功能上的扩展,而不用考虑
SQLJ
程序如何变化,以及调试和运行记录等情况。
分享到:
相关推荐
#### 二、SQLJ的优点 - **可移植性**:SQLJ支持多种数据库系统,如Oracle、DB2等。 - **代码简洁**:通过SQLJ,可以在Java中直接使用SQL语句,无需繁琐的数据处理代码。 - **性能优化**:编译器能够优化SQL语句的...
- SQLJ的优点:静态SQL语句的预编译可以在编译时检查错误,提高性能,简化代码,提供更好的类型安全。 - JDBC的优点:灵活,适用于动态SQL,可以直接与任何符合JDBC规范的数据库交互。 5. SQLJ的标准化: SQLJ...
Pro*C的主要优点在于性能高效和代码的直接性,但它的学习曲线相对较陡峭,需要对C语言和PL/SQL都有深入理解。 2. JDBC (Java Database Connectivity) JDBC是Java平台的标准数据库连接API,它允许Java开发者连接并...
JDBC 2.0可选包 简介 DataSource与JNDI 连接池 RowSet 分布式事务与Optional Package 小结 第8章 SQLJ 简介 什么是SQLJ 准备开始 使用SQLJ SQLJ定制 小结 第9章 数据库...
这种架构的优点在于用户无需安装特定客户端软件,只需一个支持JavaScript的浏览器即可,降低了维护成本并提高了系统的可扩展性。 在系统设计时,可能使用了Oracle的JDBC驱动程序来连接Java应用程序和数据库,通过...
SQLG2是一个开源项目,它的目标是为中小型应用程序提供更简单、高效的数据库访问方式,将JDBC、SQLJ和iBATIS的优点融为一体。这个库的主要目的是简化Java开发者处理数据库交互时的代码编写工作,使他们能够体验到...
JDBC的主要优点在于其跨平台特性和广泛的支持范围。 - **JDBC OCI**:这是一种本地接口驱动,依赖于Oracle客户端的安装。它通过Oracle Call Interface (OCI)与数据库通信。 - **JDBC Thin**:这是一种纯Java驱动,...
本指南面向数据库程序员,深入探讨了SQL Anywhere Studio 6.0.3的主要特性、优点、缺点,以及详细的安装和管理步骤。对于熟悉C语言的开发者,文章还将介绍SQLC,这是SQL在C语言中的应用,有助于C程序员快速掌握SQL...
1. Oracle8i 数据库概述:介绍 Oracle8i 数据库的基本概念、架构、特点和优点。 2. Java 与 Oracle8i 集成:讨论 Java 与 Oracle8i 数据库的集成方式,包括使用 JDBC、SQLJ 和其他技术。 3. Oracle8i 数据库编程:...
DB2支持SQL标准,但也有自己的扩展和特性,例如UDF(用户定义函数)、LOB(大型对象)和SQLJ。迁移至DB2时,需注意其事务处理级别、存储过程以及分区策略。 5. 数据迁移挑战:异构数据迁移的挑战包括但不限于数据...
这种新型数据库不仅具备传统关系型数据库的优点,还支持面向对象编程中的特性,如类、对象等。 - **1.2 数据库的特点** - 数据库具有高度的数据独立性、数据共享性、数据完整性等特点。这些特点确保了数据的一致...
- Oracle提供了多种方式与数据库交互,包括Pro*C/C++、ODBC、OCI、SQLJ、JDBC以及PL/SQL。其中,PL/SQL是直接在数据库内部执行的,提供了更强大的过程化编程能力。 4. **PL/SQL的优缺点**: - 优点:结构化编程,...
4. **SQLJ (SQL in Java)**: SQLJ是一种较新的技术,它允许在Java程序中嵌入SQL语句。虽然目前掌握这项技术的人并不多,但它为Java开发者提供了一种更紧密地集成SQL代码的方法。 5. **JDBC (Java Database ...
Oracle提供了多种与数据库交互的方法,包括Pro*C/C++、ODBC、OCI、SQLJ、JDBC以及PL/SQL。其中,PL/SQL是直接存储在数据库中执行的语言,增强了SQL的程序化能力。它的优点包括结构化编程、良好的可移植性和可维护性...
它不仅继承了传统存储过程的优点,还具备更好的跨平台性、可移植性和灵活性。 #### 存储过程动机 存储过程的主要动机在于提高数据库操作的效率和安全性。通过将频繁执行的操作或复杂的业务逻辑封装为存储过程,...
- **灵活性**:PB 允许开发者在应用程序中直接使用 SQL 语句,并且支持游标、存储过程等功能,提供了一种类似 SQLJ 的规范。 - **局限性**:尽管 PB 在数据库开发方面表现出色,但在系统底层开发方面相对较弱。例如...
- 优点:提高性能,减少网络流量。 - **JDBC (Java Database Connectivity)**: - 定义:一套用于连接Java应用程序与各种数据库的标准API。 - 功能:执行SQL语句、获取结果集等。 - 支持多种数据库系统。 - **...
Oracle提供了多种与数据库交互的方式,包括Pro*C/C++、ODBC、OCI、SQLJ、JDBC以及PL/SQL。其中,PL/SQL是直接存储在数据库内执行的,增强了SQL的功能,提供了结构化和模块化的编程能力。PL/SQL的优点在于它的结构化...
4) SQLJ: 很新的一种用Java访问Oracle数据库的方法,会的人不多; 5) JDBC 6) PL/SQL: 存储在数据库内运行, 其他方法为在数据库外对数据库访问,只适合ORACLE; 2. PL/SQL 1) PL/SQL(Procedual language/SQL)...