当前位置:  数据库>oracle

DB2版SQLJ访问Oracle服务器

    来源: 互联网  发布时间:2017-06-20

    本文导语: 今天看到一本关于Oracle SQLJ的书于是想试一试。但我的Ubuntu 14.04只安装了Oracle的精简客户端。没有SQLJ,于是想到用IBM-db2的sqlj,居然成功了。 一、从Oracle服务器端把runtime12ee.jar  runtime12.jar  translator.jar拷入相应目录 我的是放在$O...

今天看到一本关于Oracle SQLJ的书于是想试一试。但我的Ubuntu 14.04只安装了Oracle的精简客户端。没有SQLJ,于是想到用IBM-db2的sqlj,居然成功了。

一、从Oracle服务器端把runtime12ee.jar  runtime12.jar  translator.jar拷入相应目录

我的是放在$ORACLE_HOME/sqlj/lib,其中的$ORACLE_HOME是精简客户端的安装目录

/opt/ora11g/instantclient_11_2/

二、把$ORACLE_HOME/sqlj/lib/*加入到CLASSPATH中

三、用sqlj程序转换时需要加上-compile=false -C-classpath=$ORACLE_HOME/sqlj/lib/* 选项

四、实例

/* Emp.sqlj 源程序

  sqlj -compile=false -C-classpath=$ORACLE_HOME/sqlj/lib/* Emp.sqlj

  javac Emp.java

  java Emp

 */

import java.sql.SQLException; /* 导入所需的 Java 类 */

import sqlj.runtime.*; //Java 运行时支持

import sqlj.runtime.ref.*;

import oracle.sqlj.runtime.*; //Oracle 扩展

#sql iterator MyIter(String empno, String ename);


class Emp /* 主类 */

/* 定义 iterator 处理结果集 */

{

 public static void main(String args[])

 {

 try {

 /* 连接到 Oracle 数据库,这里使用的是 Thin 驱动程序 */

 Oracle.connect("jdbc:oracle:thin:@192.168.0.110:1521:orcl", "scott", "tiger");

 Emp st = new Emp();

 st.runExample();

 } catch(SQLException e) {

 System.err.println("Error running the example:" + e);

 } finally {

 try {

 Oracle.close();

 } catch(SQLException e) { }

 }

 }

 void runExample() throws SQLException { /* 定义 runExample 函数获取并处理结果 */

 MyIter iter; /* 声明 iterator 类的一个实例 */

 #sql iter = {select EMPNO,ENAME from emp}; /* 执行嵌入的 SQL 语句,并返回结果给 iterator */

 


 while(iter.next()) {

 /* 循环遍历结果的每一条记录并输出 */

 System.out.print("EMPNO = " + iter.empno()+"      ");

 System.out.println("ENAME = " + iter.ename());

 }

 }

}

运行:

$sqlj -compile=false -C-classpath=$ORACLE_HOME/sqlj/lib/* Emp.sqlj

$ javac Emp.java

$ java Emp

EMPNO = 7369      ENAME = SMITH

EMPNO = 7499      ENAME = ALLEN

EMPNO = 7521      ENAME = WARD

EMPNO = 7566      ENAME = JONES

EMPNO = 7654      ENAME = MARTIN

EMPNO = 7698      ENAME = BLAKE

EMPNO = 7782      ENAME = CLARK

EMPNO = 7788      ENAME = SCOTT

EMPNO = 7839      ENAME = KING

EMPNO = 7844      ENAME = TURNER

EMPNO = 7876      ENAME = ADAMS

EMPNO = 7900      ENAME = JAMES

EMPNO = 7902      ENAME = FORD

EMPNO = 7934      ENAME = MILLER


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • DB2语法助手 DB2 Syntax Assistant
  • COM.ibm.db2.jdbc.net.DB2Driver 和COM.ibm.db2.jdbc.app.DB2Driver有什么不同?
  • com.ibm.db2.jdbc.app.DB2Driver从哪里可以下载 ?
  • 如何用COM.ibm.db2.jdbc.net.DB2Driver连接DB2数据库
  • 谁有COM.ibm.db2.jdbc.app.DB2Drive驱动
  • IBM数据库 DB2
  • 急,jsp如何使用jdbc连接DB2,解决就结贴
  • 哪里有有db2的jdbc2.0下载
  • Websphere如何与DB2连接?
  • jsp怎么通过jdbc连接db2数据库?
  • 在线等待:tomcat4。1+db2配置
  • java连接DB2问题
  • AIX上用shell处理db2 select的返回值
  • Rails的DB2驱动 IBM_DB gem
  • 急!到底要多少内存WS+DB2才能跑起来?
  • JSP连接db2数据库
  • 简单问题,如何对db2数据库进行模糊查询?
  • 诸位大侠帮忙,关于DB2
  • 那里能下载db2
  • db2中表的长度问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    .net/c#/asp.net iis7站长之家