【发布时间】:2011-01-26 10:36:06
【问题描述】:
嘿,我正在尝试找到一种方法来运行它。我正在使用 oracle 数据库 10g,其中我将 blob 存储在表中。我希望能够在我的 java 代码中读出 blob 并将其传递给 java 方法。我通过 loadjava 在我的数据库中加载了我的 java 类。我存储 Blob 的表也已设置。
这是我的 java 类和我想传递 BLOB 的方法
import java.lang.*;
import java.sql.*;
import oracle.sql.*;
public class Test
{
public static void getWidth(BLOB myBlob) throws Exception
{
System.out.println(myblob.length());
}
};
这是我在 PL/SQL 中的 Java 存储过程(包装器)
CREATE OR REPLACE PROCEDURE testmethod (p_blob IN BLOB)
AS LANGUAGE JAVA
NAME 'Test.getWidth(oracle.sql.BLOB)';
它将 java 类加载到数据库中,我的包装器也编译并存储。
当我想运行execute testmethod(testphoto.jpg);时
它给了我错误:'testphoto.jpg must be declared'
有什么建议可以让它运行吗?感谢您的宝贵时间。
这是我的过程测试方法中的 PL/SQL 块:
DECLARE
P_FILE VARCHAR2(200);
P_BLOB BLOB;
BEGIN
P_FILE := NULL;
P_BLOB := NULL;
TESTMETHOD(
P_FILE => P_FILE,
P_BLOB => P_BLOB
);
END;
【问题讨论】:
标签: java oracle plsql jvm blob