`

Oracle 和 DB2 数据库中调用Java函数

阅读更多

举个例子,例如从长整型时间(毫秒数)转为java.util.Date对象:

 

Oracle9:

使用PL/SQL,创建Java函数:

create or replace and compile java source named long2date as
public class Long2Date
{
  public static java.lang.String entry(long dt)
  {
         java.text.DateFormat formate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
         java.util.Date d1 = new java.util.Date(dt);
         return formate.format(d1);
  }
}


在SQLPlus中(应该在别的里边也可以,但是不明白为什么不行)执行下面的语句,创建函数
CREATE OR REPLACE FUNCTION F_LONG2DATE_JAVA (dt NUMBER) RETURN VARCHAR2 AS LANGUAGE JAVA NAME 'Long2Date.entry(long) return java.util.Date';



如果以普通用户的身份运行这些创建命令,在其它用户使用这个函数时必须加上它的owner,即如下:

select ower.F_LONG2DATE_JAVA(11111111) from dual;

如果以SYSDBA方式来创建,则可以直接使用,如:
select F_LONG2DATE_JAVA(11111111) from dual;

 

从表中查询:

select c.F_LONG2DATE_JAVA( table.field) from table

DB2 V9.1
(1)编写Java源文件,编译为class
(2)将这个class(如果有pakage的话,目录要按照pakage来建),放到DB2目录的function目录下
(3)创建DB2的函数,可以写成sql文件,然后用"db2 -tf <sqlfile>"的方式来建立函数
(4)如果创建出错,可以使用drop function <function name>命令来删除函数
(5)此后就可以在select查询中使用这个函数

分享到:
评论

相关推荐

    Oracle调用Java代码过程

    Oracle调用Java代码过程是一种将Java程序集成到Oracle数据库中的技术,主要应用于处理特定的业务逻辑,例如在本例中,是为了访问异构数据库(如DB2)的数据。以下是详细的步骤和注意事项: **步骤一:加载JDBC驱动*...

    DB2数据库用户手册

    - **Container(容器)**:在DB2中,容器是用于组织和存储数据库对象的一种逻辑结构,它可以包含表空间、数据库等。 - **DRDA**:Distributed Relational Database Architecture(分布式关系数据库架构),是一种IBM的...

    ORACLE转DB2对照全解

    **注意:** Oracle和DB2中的游标语法类似,但在DB2中,`DECLARE`关键字用于声明游标。 ##### 3.2 UDF和触发器中显式游标的转换 **Oracle:** ```sql CREATE OR REPLACE FUNCTION get_data RETURN NUMBER IS CURSOR...

    db2 oracle sql server sybase access 数据库连接详解

    ODBC 是微软公司开发的一套开发数据库系统应用程序接口规范,它支持应用程序以标准的 ODBC 函数和 SQL 语句操作各种不同的数据库。ODBC 提供了统一的操作界面,使得应用程序可以独立于数据库管理系统。 JDBC JDBC ...

    oracle转DB2 对照

    - **Oracle** 和 **DB2** 都支持创建用户自定义函数,但在DB2中语法略有不同。 ```sql -- Oracle CREATE FUNCTION function_name(parameters) RETURN return_type IS -- DB2 CREATE FUNCTION function_name...

    Oracle 10g 数据库系统教程 高清版

    主流的关系数据库管理系统(RDBMS)包括Oracle、Microsoft SQL Server、IBM DB2和Sybase等,它们各自在市场和技术上有着不同的优势和特色。 #### 二、SQL*PLUS基础 **SQL*PLUS**是Oracle数据库自带的一个文本界面...

    JDBC连接oracle数据库.pdf

    连接Oracle数据库的Java代码通常封装在独立的连接类中,以提高代码的可维护性和重用性。示例代码如下: ```java private Connection newConnection(String user, String password) { Connection con = null; try ...

    OTL(Oracle, Odbc and DB2-CLI Template Library)技术应用

    OTL(Oracle, Odbc and DB2-CLI Template Library)是一种C++模板库,专门用于高效地访问和操控多种关系数据库系统,包括Oracle、DB2、SQL Server、Sybase、Informix、MySQL、Interbase/Firebird、PostgreSQL、...

    java比对升级工具

    1. db2jcc.jar:这是IBM DB2数据库的Java连接器,用于与DB2数据库建立连接,执行SQL语句和管理事务。 2. bcprov-jdk14-141.jar:这是Bouncy Castle提供的Java加密库,提供了各种加密算法,包括用于MD5计算的算法。 ...

    ORACLE实现异构服务

    7. **PL/SQL** 和 **Oracle SQL**:这两种语言提供了丰富的功能,可以编写存储过程、函数和触发器,实现与外部系统交互的逻辑,包括调用Web服务、执行脚本等。 在实际应用中,实现异构服务可能涉及到以下步骤: 1....

    各种数据库中查询当前日期

    在Informix数据库中,查询当前日期非常简单,只需调用`TODAY`函数: ```sql SELECT TODAY FROM TABLE; ``` 这里`TODAY`函数返回的是当前日期,不包含时间部分。 #### SQL SERVER SQL Server中查询当前日期时间有...

    比较详细的oracle教程

    - **用户管理**:教授如何在Oracle数据库中创建和管理用户,包括授予和回收权限、角色管理等。 - **备份恢复**:讲解Oracle数据库的备份和恢复策略,包括全备、增量备、逻辑备份的方法,以及RMAN工具的使用。 - **...

    DB2.SQL.PL.Essential.Guide(DB2 存储过程_English)

    3. **调用存储过程**:在应用程序中如何调用存储过程,如通过SQL语句、API函数或者编程语言(如Java、C++、Python等)进行调用。 4. **控制流程语句**:学习如何在存储过程中使用IF-THEN-ELSE、CASE语句、WHILE循环...

    神通数据库-数据库快速入门.pdf

    使用数据库创建应用程序时,过程语言是应用程序和数据库之间的主要编程接口。神通数据库中所提 供的过程语言是 plOSCAR。在使用 plOSCAR 程序时,可用两种方法存储和执行程序。可以在本地存储程 序,并创建向数据库...

    mybatis-sql-dialect

    在MySQL中,MyBatis-SQL-Dialect会处理如`LIMIT`和`ORDER BY`等特有的语法,以及提供对MySQL特定函数的调用,如`DATE_FORMAT`用于格式化日期。这使得开发者在使用MyBatis时,可以编写更符合MySQL习惯的SQL语句。 4...

    DB2 000-610.pdf

    DB2数据库支持与Oracle数据库视图进行UNION操作,这需要使用特殊的函数或方法,但在提供的文档片段中并未给出完整选项。在DB2与Oracle之间进行数据交换和操作,可能需要特定的连接设置和数据类型兼容处理。 总结...

    编程(db2)使用技巧

    创建和管理数据库是DB2的核心功能之一,包括创建、备份和恢复数据库。 #### 4.3 控制文件(Control File) 控制文件包含了数据库的所有物理文件的信息,对于数据库的正常运行至关重要。 #### 4.4 控制文件管理...

    JAVA调用存储过程详解[定义].pdf

    在Java中,调用存储过程通常使用`CallableStatement`接口,它是`PreparedStatement`的子类。以下是一个示例,展示了如何调用名为`set_death_age`的存储过程,该过程接受两个参数,诗人姓名和逝世年龄: ```java try...

    DB2使用经验积累

    - **DB2 Administration Server(管理服务器)**:管理服务器是一种用于集中管理和监控DB2环境中多个数据库实例的服务。它提供了一个统一的界面来管理多个数据库实例的安全性、备份、恢复以及其他管理任务。通过使用...

Global site tag (gtag.js) - Google Analytics