Q&A

  • Memo를 오라클로 저장시키는 방법
안녕하세요.



델파이 5.0 Tquery의 SQL문을 작성하여 Memo file의 값을 오라클 db로

insert 하려고 합니다.

그런데 메모의 내용이 한 줄일때는 잘 insert가 되지만

한줄이 넘어갈 경우 - 중간에 엔터 값이 들어갈 경우는

여지없이 에러가 나는데 에러메세지는

"ORA-01465 invalid hex number" 이 나오네요.

params 로 써도 마찬가지이고요....



아시는 분 답변 부탁드립니다.



그럼....



_____________________________________________________

예제 source



with qryIPMAIN_insert do

begin

SQL.Clear ;

SQL.Add('Insert into IPMAIN ') ;

SQL.Add(Format('Values (''%s'',''%s'' ) ',[edSWNO.Text,mmIP.Text] ) ) ;

ExecSQL ;

end ;



여기서 mmIP.text가 메모입니다.













1  COMMENTS
  • Profile
    조대호 2000.06.28 03:44
    홍광기 wrote:

    > 안녕하세요.

    >

    > 델파이 5.0 Tquery의 SQL문을 작성하여 Memo file의 값을 오라클 db로

    > insert 하려고 합니다.

    > 그런데 메모의 내용이 한 줄일때는 잘 insert가 되지만

    > 한줄이 넘어갈 경우 - 중간에 엔터 값이 들어갈 경우는

    > 여지없이 에러가 나는데 에러메세지는

    > "ORA-01465 invalid hex number" 이 나오네요.

    > params 로 써도 마찬가지이고요....

    >

    > 아시는 분 답변 부탁드립니다.

    >

    > 그럼....

    >

    > _____________________________________________________

    > 예제 source

    >

    > with qryIPMAIN_insert do

    > begin

    > SQL.Clear ;

    > SQL.Add('Insert into IPMAIN ') ;

    > SQL.Add(Format('Values (''%s'',''%s'' ) ',[edSWNO.Text,mmIP.Text] ) ) ;

    > ExecSQL ;

    > end ;

    >

    > 여기서 mmIP.text가 메모입니다.

    >

    >

    >

    >

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

    오라클의 해당필드의 field Type을 Varchar2(1000)로 선언하고



    with qryIPMAIN_insert do

    begin

    SQL.Clear ;

    SQL.Add('Insert into IPMAIN ') ;

    SQL.Add('Values (:edSWNO) ') ;

    ParamByName('edSWNO').AsString := mmIP.Lines.Text;

    //또는 ParamByName('edSWNO').AsBlob := mmIP.Lines;

    ExecSQL ;

    end ;



    반대로 field에 있는값을 읽을때는

    mmIP.Lines.Text := qryIPMAIN_insert.FieldByName('필드명').AsString;



    오라클의 varchar2는 2k까지 사용가능하기때문에 보통은 varchar2를사용하나 그이상의

    데이타를 사용시는 Long Row등의 타입을 사용하는데 그럴땐는 일반 이미지저장방법과동일하게 처리해야함니다.



    수고하십시요