DB2 调用java自定义方法报错,请大牛帮忙~

zn85600301 2012-08-22 04:44:54
本人用java 写了个DES的加密类

想在DB2里面调用然后将数据值加密

将DES。class已经拷贝到IBM\SQLLIB\FUNCTION目录下后

create function encrypt_des(str varchar(100))
returns varchar(100)
fenced
variant
no sql
language java
PARAMETER STYLE java
external name 'DES!encrypt';
用一下脚本创建函数成功

在测试的时候 values(encrypt_des('123'));
报错如下
[Error Code: -4306, SQL State: 42724] DB2 SQL Error: SQLCODE=-4306, SQLSTATE=42724, SQLERRMC=DB2ADMIN.ENCRYPT_DES;SQL120822162338500;encrypt;(Ljava/lang/String;)Lj, DRIVER=3.50.152

这里网上的资料很少,请知道的大牛帮忙解答下,十分感谢~
...全文
625 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
javawhy 2013-02-25
  • 打赏
  • 举报
回复
数字签名不一致,导致找不到方法!
lixianghu 2013-01-18
  • 打赏
  • 举报
回复
不懂 什么情况
zn85600301 2012-08-31
  • 打赏
  • 举报
回复
终于搞定了
解决问题还是得能静下心来 一步一步的解决

谢谢 大家的回复 你们的回复让我有了解决问题的信息
下面是参考的帖子 很有用
http://www.blogjava.net/yrJavaWorld/archive/2006/07/21/59363.html


lixianghu 2012-08-30
  • 打赏
  • 举报
回复
刚学DB2,支持楼主一下
di_wq 2012-08-30
  • 打赏
  • 举报
回复
刚学DB2,支持楼主一下
zn85600301 2012-08-30
  • 打赏
  • 举报
回复
我的class 没有目录
你的 java类不需要继承 COM.ibm.db2.app.UDF吗? 不过我把这个BD2的db2java.jar包也考到目录下了

jdk 我也没设置

谢谢 回复 我先试试
scbb 2012-08-30
  • 打赏
  • 举报
回复
给你个例子先,例子中Java代码的方法是static的。

1 //The simplest JAVA SP
2 import java.sql.*;
3
4 public class INSERT_JAVASP
5 {
6 public static void iNSERT_JAVASP (String input) throws SQLException,
Exception
7 {
8 int errorCode;
9
10 try
11 {
12 // get caller's connection to the database
13 Connection con = DriverManager.getConnection("jdbc:default:connection");
14
15 String query = "INSERT INTO CWYLAW.StoreData (c) VALUES (?)";
16
17 PreparedStatement pstmt = con.prepareStatement(query);
18 pstmt.setString(1, input);
19 pstmt.executeUpdate();
20
21 }
22 catch (SQLException sqle)
23 {
24 errorCode = sqle.getErrorCode();
25 throw new SQLException( errorCode + " FAILED" );
26 }
27 }
28 }
29

IBM\SQLLIB\FUNCTION你放的是class吗? 那么包的目录也要的。
也可以打成jar。

CREATE PROCEDURE的例子
CREATE PROCEDURE INSERT_JAVASP (IN INPUT CHAR(3))
SPECIFIC INSERT
DYNAMIC RESULT SETS 0
DETERMINISTIC
LANGUAGE JAVA
PARAMETER STYLE JAVA
NO DBINFO
FENCED
THREADSAFE
MODIFIES SQL DATA
PROGRAM TYPE SUB
EXTERNAL NAME 'INSERT_JAVASP!iNSERT_JAVASP'
;


设JDK_PATH
db2 update dbm cfg using JDK_PATH C:¥PROGRA~1¥IBM¥SQLLIB¥java¥jdk
重启
db2stop force
db2start


最后使用
D:¥>db2 call INSERT_JAVASP('D')
Return Status = 0
D:¥>db2 "select * from CWYLAW.StoreData"
C
---
D
1 record(s) selected.

你的错误 4306 ,就是DB2认为你没定义这个方法。
要么是参数错误,要么是函数名错误。 不知道和static没写有没有关系。
xttxqjfg 2012-08-30
  • 打赏
  • 举报
回复
支持一下吧。。
zn85600301 2012-08-23
  • 打赏
  • 举报
回复
没有人知道么?
zn85600301 2012-08-22
  • 打赏
  • 举报
回复
public String byteArr2HexStr(byte[] arrB) throws Exception {
int iLen = arrB.length;

StringBuffer sb = new StringBuffer(iLen * 2);
for (int i = 0; i < iLen; i++) {
int intTmp = arrB[i];

while (intTmp < 0) {
intTmp = intTmp + 256;
}

if (intTmp < 16) {
sb.append("0");
}
sb.append(Integer.toString(intTmp, 16));
}
return sb.toString();
}


public String encrypt(String strIn) throws Exception {
return byteArr2HexStr(encrypt(strIn.getBytes()));
}

java 代码如上
zn85600301 2012-08-22
  • 打赏
  • 举报
回复
刚才点自己帖子 404 吓死我了~~
内容概要:本文围绕基于CNN-BiLSTM-Attention混合神经网络模型的电力负荷预测展开研究,提出一种结合卷积神经网络(CNN)、双向长短期记忆网络(BiLSTM)与注意力机制(Attention)的深度学习框架,并通过Python代码实现高精度的短期与超短期负荷预测。该模型充分利用CNN对局部特征的提取能力,捕捉负荷数据中的周期性与趋势性模式;借助BiLSTM对时间序列前后向依赖关系的建模能力,增强对动态变化的感知;并通过Attention机制自适应地聚焦关键历史时刻,提升预测准确性。文中详细阐述了数据预处理、模型结构设计、训练流程及超参数调优方法,并在真实负荷数据集上进行了实验验证,结果表明该混合模型相比传统单一模型和其他基准模型具有更优的预测性能,尤其在应对非线性、非平稳负荷波动方面表现突出。; 适合人群:具备一定Python编程能力和机器学习基础,从事电力系统分析、能源管理、智能电网或时序预测相关工作的科研人员、工程师及高校研究生。; 使用场景及目标:①应用于电网调度、电力市场出清、需求响应管理等场景下的精细化负荷预测;②为研究人员提供一套完整的、可复现的深度学习负荷预测代码框架,推动AI技术在能源领域的落地应用;③帮助理解CNN、BiLSTM与Attention模块之间的协同机制及其在时序建模中的集成方式。; 阅读建议:建议读者结合所提供的Python代码进行动手实践,重点掌握数据归一化、滑动窗口构造、模型搭建与训练技巧,并尝试在不同地区、不同季节的负荷数据上进行迁移测试,以深入理解模型泛化能力与调参策略。
内容概要:本文围绕“MATLAB具有储能的经济调度及机会约束和鲁棒优化”展开,系统研究了电力系统中融合储能技术的经济调度问题,重点探讨了机会约束规划与鲁棒优化方法在应对新能源出力不确定性、负荷波动及系统运行风险中的应用。内容涵盖风光储协同调度、多微网共享储能、电动汽车参与调度、低碳经济调度等多种典型场景,深入分析了储能的选址定容、功率协调控制、状态估计与优化调度模型。核心技术包括粒子群优化(PSO)、分布鲁棒机会约束(DRCC)、模型预测控制(MPC)、鲁棒优化、二阶锥规划(SOCP)等先进算法,并提供了基于Matlab/Simulink的完整仿真代码实现,旨在提升新型电力系统的运行灵活性、经济性与抗风险能力。; 适合人群:具备电力系统、自动化、电气工程或相关专业背景,熟悉Matlab/Simulink仿真环境与基本优化算法,从事新能源并网、微电网运行、储能系统规划、电力市场调度等领域的研究生、科研人员及工程技术人员。; 使用场景及目标:① 学习并构建含储能的电力系统经济调度优化模型;② 掌握机会约束与鲁棒优化在处理新能源不确定性问题中的建模思路与求解方法;③ 利用提供的Matlab代码进行算法复现、仿真验证与性能对比,支撑科研项目攻关;④ 为撰写高水平学术论文、学位论文或工程优化方案提供可靠的模型参考与代码支持。; 阅读建议:建议读者结合文档中具体的案例(如风电-水电联合调度、电动汽车集群调度、多微网共享储能等)和配套的Matlab代码进行动手实践,重点关注优化模型的构建逻辑、约束条件设定与求解器配置过程,同时可关注公众号“荔枝科研社”获取完整资源包、复现教程及持续的技术支持。

81,110

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧