为Derby数据库创建函数命令

时间:2013-06-19 11:50:00

标签: java derby

我在使用Derby数据库的创建函数命令时遇到问题。

首先我尝试了

  CREATE FUNCTION TO_DEGREES(RADIANS DOUBLE) RETURNS DOUBLE
  PARAMETER STYLE JAVA NO SQL LANGUAGE JAVA
  EXTERNAL NAME 'java.lang.Math.toDegrees'

然后

 SELECT TO_DEGREES(3.142), BILLNO FROM SALEBILL

这绝对没问题。

现在我尝试制作我自己的功能:

package SQLUtils;
public final class TestClass
{
    public TestClass()
    {
    }

    public static int addNos(int val1, int val2)
    {
        return(val1+val2);
    }
 }

接着是

CREATE FUNCTION addno(no1 int, no2 int) RETURNS int
PARAMETER STYLE JAVA NO SQL LANGUAGE JAVA
EXTERNAL NAME 'SQLUtils.TestClass.addNos'

然后

SELECT addno(3,4), BILLNO FROM SALEBILL

这给出了例外

Error code -1, SQL state 42X51: The class 'SQLUtils.TestClass' does not exist or is inaccessible. This   can happen if the class is not public.

错误代码99999,SQL状态XJ001:Java异常:'SQLUtils.TestClass:java.lang.ClassNotFoundException'。

第6行,第1栏

我制作了一个包含上述类的项目的jar文件。我可能错了,但我可以从中得出的结论是这个jar文件需要在某个类路径中。但是在哪个类路径以及如何将它添加到类路径中,我无法理解。

我尝试将jar文件复制到jdk \ lib文件夹,jre \ lib文件夹,jdk \ jre \ lib文件夹但无效。

有人可以指出我正确的方向吗?

我在网络模式下使用NetBeans IDE 7.1.2,jdk 1.7.0_09,Derby版本10.8.1.2。应用程序和数据位于服务器上。我从安装在客户端计算机上的Netbeans访问它们。

0 个答案:

没有答案