Эй, я пытаюсь найти способ запустить это. Я использую базу данных Oracle 10g, где у меня есть капли, хранящиеся в таблице. Я хочу быть в состоянии прочитать и передать BLOB-объект в метод Java в моем коде Java. Я загрузил свой класс Java в моей базе данных с помощью loadjava. Стол, в котором я храню свои капли, тоже накрыт.
Это мой класс 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());
}
};
А это моя хранимая процедура Java (Wrapper) в PL / SQL
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 BLock из моего метода испытаний:
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;