ORA DBに接続されたPHPで、最近、挿入に関する問題を解決しました。挿入はCLOB
同じように処理する必要があります。
私の場合、データを文字として挿入するだけで十分でしたが、バインド時に文字の長さをバインドの長さとして設定しました。ただし、 :TO_BLOB()
にキャストされた入力を必要とする関数を使用してみることができます。RAW
INSERT INTO my_blob_table (my_blob_column) VALUES (TO_BLOB(UTL_RAW.CAST_TO_RAW('some binary data as string')))
または、ユニバーサルTO_LOB()
が機能する必要があります(ソース/ターゲット列に変換CLOB
またはBLOB
依存します):
INSERT INTO my_blob_table (my_blob_column) VALUES (TO_LOB('some binary data as string'))
編集:グーグルを使用して、私はこれらがうまくいくはずだとわかりました:
long
変換したい列がある場合clob/blob
:
create table t1 (id int, my_blob blob);
create table t2 (id int, my_long long);
insert into t2 values (1, rpad('*',4000,'*'));
insert into t1 select id, to_lob(my_long) from t2;
create table t1 (id int, my_blob blob);
create table t2 (id int, my_long_raw long raw);
insert into t2 values (1, rpad('*',4000,'*'));
insert into t1 select id, to_blob(my_long_raw) from t2;
それはうまくいくはずです...こことここを参照してください。