ちょっと、これを実行する方法を見つけようとしています。私はテーブルに格納されているblobを持つOracleデータベース10gを使用しています。私は読んで、私のJavaコード内のJavaメソッドにBLOBを渡すことができるようにしたい。 loadjavaを使用してデータベースにJavaクラスをロードしました。私のブロブを保存するテーブルも設定されています。Oracle JVMを使用してJavaメソッドにblobをパラメータとして渡す
それはロードPL/SQLで
CREATE OR REPLACE PROCEDURE testmethod (p_blob IN BLOB)
AS LANGUAGE JAVA
NAME 'Test.getWidth(oracle.sql.BLOB)';
これは私のJavaクラスと私は
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());
}
};
BLOBを渡したいのですが方法であり、これは私のJavaストアド・プロシージャ(ラッパー)でありますJavaクラスをデータベースに入れ、私のラッパーをコンパイルして保存します。 'testphoto.jpg must be declared'
このランニングを得るために何かアドバイス:
は、私はそれは私にエラーを与えるexecute testmethod(testphoto.jpg);
実行したい場合は?御時間ありがとうございます。
これは私のプロシージャのtestMethodから私の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クラス でメソッドを実行しました。 *処置:コールを調整するか、クラスを解決可能にします。 – daniel
'( 'Test Data')' – daniel
に入れなければならないもの@DannyRe:単純なテストのためにブロブに変換していた文字列値でした。 –