Oracle Java Source and function to call Java

本文介绍了一个Java类FirstJava,演示了如何不通过数据库交互实现简单的字符串返回功能,以及如何通过Oracle JDBC驱动实现与数据库的交互来获取当前时间。

Create Java Source

 

create or replace and compile java source named firstjava as
import oracle.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;
import java.sql.*; 
public class FirstJava
{

   /*
   * 测试方法1,没有数据库交互
   */
   public static String hello(String yourName)
   {
      return "Hello world "+yourName;
   }
   
   /*
   * 测试方法2,同数据库有交互,
   * 注意该方法中获得OracleDriver 和 Connection的方法同标准Java的区别
   * 标准JDBC中的调用方法应该如下:
   *   //获得数据库连接
*     java.lang.Class.forName(\"oracle.jdbc.driver.OracleDriver\");
*    con = DriverManager.getConnection(\"jdbc:oracle:thin:scott/tiger@localhost:1521:LEGDB\");
   */
   
    public static String get_current_time()
    {
        String current_time="";
        OracleDriver driver = new OracleDriver();
        Connection connection=null;
        Statement stmt=null;
        try {
            connection = DriverManager.getConnection("jdbc:default:connection:");
            //connection = driver.defaultConnection();
            stmt = connection.createStatement();
            String cmd =
            "select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual";
            
            ResultSet rs=stmt.executeQuery(cmd);   
            
            if(rs.next()){
                  current_time=rs.getString(1);
            }
            rs.close();
      
        } catch (SQLException e) {
               System.out.println(" There is an error  " + e);
        }finally {
          try{
            if (stmt != null) stmt.close();
            if (connection != null) connection.close();
           }catch(Exception ee){}
        }
        return current_time;
    }
}

 

 

Create function

create or replace function MY_HELLO(v_name in varchar2) return VARCHAR2 as
language java name 'FirstJava.hello(java.lang.String) return java.lang.String';

 

 

flink doris connector 采集任务报错 2025-07-21 18:02:13,730 ERROR io.debezium.pipeline.ErrorHandler [] - Producer failure io.debezium.DebeziumException: java.lang.NullPointerException at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:85) ~[flink-sql-connector-mysql-cdc-2.4.2.jar:2.4.2] at io.debezium.pipeline.ChangeEventSourceCoordinator.doSnapshot(ChangeEventSourceCoordinator.java:155) ~[flink-sql-connector-mysql-cdc-2.4.2.jar:2.4.2] at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:137) ~[flink-sql-connector-mysql-cdc-2.4.2.jar:2.4.2] at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:109) ~[flink-sql-connector-mysql-cdc-2.4.2.jar:2.4.2] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_212] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_212] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_212] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_212] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212] Caused by: java.lang.NullPointerException at io.debezium.connector.oracle.OracleSnapshotChangeEventSource.createSchemaChangeEventsForTables(OracleSnapshotChangeEventSource.java:230) ~[flink-sql-connector-oracle-cdc-2.4.2.jar:2.4.2] at io.debezium.relational.RelationalSnapshotChangeEventSource.doExecute(RelationalSnapshotChangeEventSource.java:121) ~[flink-sql-connector-mysql-cdc-2.4.2.jar:2.4.2] at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:76) ~[flink-sql-connector-mysql-cdc-2.4.2.jar:2.4.2] ... 8 more 2025-07-21 18:02:13,736 INFO io.debezium.pipeline.ChangeEventSourceCoordinator [] - Connected metrics set to 'false' 2025-07-21 18:02:14,138 INF
07-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值