请教一个用oracle 存储过程执行java代码的问题

之前用loadjava将sqlServer的sqljdbc4.jar已经装载到oracle中,并且建立了CREATEORREPLACEANDRESOLVEJAVASOUR... 之前用loadjava 将sqlServer的sqljdbc4.jar已经装载到oracle中,并且建立了
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED LXY.SENDSMS
as
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
public class Go {
public static void sendMessage(String message) {
String driverClassName="com.
。。。。
然后建立存储过成调用
CREATE OR REPLACE procedure LXY.sms(message varchar2)
as language java name 'Go.sendMessage(String)';

最后执行
exec sms('fff');
call sms('f')
*
ERROR at line 1:
ORA-29531: no method sendMessage in class Go
请教一下它为什么提示sendMessage方法不在Go类里?
展开
 我来答
herofire
2011-10-18 · 超过31用户采纳过TA的回答
知道答主
回答量:168
采纳率:0%
帮助的人:106万
展开全部
1)确定代码编译没有问题?
2)有没有package name?
3)试试 'go.sendMessage(String)'
追问
您好,我现在可以运行call了,但是报错说
SQL> call sms('hello');
java.lang.ClassNotFoundException: com/microsoft/sqlserver/jdbc/SQLServerDriver
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:165)
at Go.sendMessage(SENDSMS:12)
而且我用其他工具toad查看oracle中的java object,发现sqljdbc里面的class全部都是无效状态,请问这是怎么办?
追答
按上述错误描述,应该是数据库驱动包没有得到正确引用。
匿名用户
2011-10-18
展开全部
可能是驱动包被你换了位置了 可以重新导入看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式