Q&A

  • jpg그림 db에 넣을때 문제발생???
안녕하세요. 여러분들의 많은 도움으로 jpg그림을 oracle db에 저장하였습니다.

그림이 들어가는 field의 datatype는 blob로 했구요,

테스트로 크기가 3KB정도되는 그림은 저장하는데 문제가 없는데 22~32KB정도되는 그림을 저장하려 하니 다음과 같은 error가 뜹니다.

이미지 저장시 query component를 이용하여 update,insert문등을 써서 저장하는데요.



error 메세지는 담과 같습니다.

"Long 값은 Long열에서만 입력할 수 있습니다.';



여러분의 많은 도움 기다리겠습니다.

1  COMMENTS
  • Profile
    이진우 2000.10.25 00:54
    > 최현정 wrote:

    > > 안녕하세요. 여러분들의 많은 도움으로 jpg그림을 oracle db에 저장하였습니다.

    > > 그림이 들어가는 field의 datatype는 blob로 했구요,

    > > 테스트로 크기가 3KB정도되는 그림은 저장하는데 문제가 없는데 22~32KB정도되는 그림을 저장하려 하니 다음과 같은 error가 뜹니다.

    > > 이미지 저장시 query component를 이용하여 update,insert문등을 써서 저장하는데요.

    > >

    > > error 메세지는 담과 같습니다.

    > > "Long 값은 Long열에서만 입력할 수 있습니다.';

    > >

    > > 여러분의 많은 도움 기다리겠습니다.

    >

    >

    > 문제에 대한 해답은 잘 모르겠습니다만...

    > 저 같은 경우에는 인터베이스를 사용해서 해봤는데 22KB이상도 문제없이 입력됐습니다.

    > 도움이 될진 모르겠지만 소스 보시고 도움이 됐으면 좋겠습니다..

    > 즐코 하세여~

    >

    > procedure TF_CMServer.JpegToDB;

    > var

    > JpegImage : TJpegImage;

    > MS: TMemoryStream;

    > begin

    > JpegImage := TJpegImage.Create;

    > MS := TMemoryStream.Create;

    >

    > ImageMap.Picture.LoadFromFile('c:Inetpubftprootclientimage_jpeg.jpg');

    >

    > JpegImage.Assign(ImageMap.Picture.Graphic);

    > MS.Position:=0;

    > JpegImage.SaveToStream(MS);

    >

    > with CMLogQuery do

    > begin

    > Close;

    > Sql.Clear;

    > Sql.Add('update log set SCREENIMAGE=:SCREENIMAGE');

    > Sql.Add('where COMNAME=:COMNAME and STUDENTNUM=:STUDENTNUM and STARTTIME=:STARTTIME');

    >

    > ParamByName('SCREENIMAGE').LoadFromStream(MS,ftBlob);

    > ExecSql;

    > end;

    >

    > JpegImage.Destroy;

    > MS.Destroy;

    > end;