2016-03-31 21 views
1

入力としてRAWデータ型を受け入れるOracleプロシージャを使用しています。 hereを参照しながら、byte[]を使用する必要があります。しかし、私の入力値はbyte[]に収まらないものです。サンプル入力データは2F2F283C4267A67DE0536568ED0A1073です。誰かがこの入力データをJava側からOracleプロシージャに渡す方法を助けることができますか?OracleのRAW用Javaデータ型

+0

'RAW'は廃止予定ですか?なぜBLOBを使わないのですか? –

+0

オクラホマ、私はOracleの専門家ではありませんが、ありがとう、私はDBチームにこれを伝えます。 –

+0

2GBのオブジェクトを格納しない限り、すべてがバイト配列に収まります。 – chrylis

答えて

1

私は自分で答えを見つけました。私は自分の手で持っている入力が16進表記であることを理解していますので、それをバイト配列に変換するだけです。 RAWデータ型の

DatatypeConverter.parseHexBinary("2F2F283C4267A67DE0536568ED0A1073") 
0

自然選択がbyte[]です。 RAWは最大2000バイトを保持できるので、常に適合します。それほどではありません。 今日では、RAWが、16Bのみを持つUUIDに使用されることがあります。 VARCHAR2(32)として保管するより効率的です。たぶんこれもあなたの理由です。

廃止されたデータ型はLONG RAWです。これは最大2GBを持つことができます。

関連する問題