Q&A

  • jpg 를 DB로....(oracle)
jpg 를 DB로 올려야 하거든요..

여기저기 소스찾아보구 코딩을 했는데 ..

마지막에서 걸리는것 같아요..

아래에 소스를 올려볼게요..

db는 ORACLE이구요, Data Type은 BLOB, LONG RAW

둘다에서 Test 해봤거든요..



-----------------------------------------

-----------------------------------------

procedure TForm1.Button1Click(Sender: TObject);

var

v_Jpeg : Tjpegimage;

ms : TMemoryStream;

begin

With QR_Insert do

begin

If Active Then Close;



SQL.Clear;

SQL.ADD(' INSERT INTO test ');

SQL.ADD(' (id, tmp) ');

SQL.ADD(' VALUES ');

SQL.ADD(' (:id, :tmp) ');



ParamByName('id').AsString := Edit1.Text;



If Image1.Picture.Graphic = nil then

ParamByName('tmp').Assign(Image1.Picture.Bitmap)

else

begin

v_jpeg:= TJpegImage.Create;

ms := TMemoryStream.Create;

v_jpeg.Assign(Image1.Picture.Graphic);

v_jpeg.SaveToStream(ms);

ms.position := 0;



ParamByName('tmp').LoadFromStream(ms,ftBlob);

end;

DataBase1.StartTransaction;

////////////////////////////////

ExecSQL; // 꼭 여기에서 Error가 나네요..

// Message 는 "TNS:패킷 라이트 실패...."

// 도대체 왜그런지 모르겠네요..

// 고수님들 꼭 좀 가르쳐 주세요...

////////////////////////////////

v_jpeg.Destroy;

ms.Destroy;

DataBase1.Commit;

end;

end;

end;





0  COMMENTS