main program에서 dll을 call할때 oracle에 connect 합니다.
그런데 장시간(8시간정도) 실행되어야 하거든요...
그런데 가끔씩 connect error가 보여지면서 끊어지거든요
어떻게 해야 되죠?
그리고 하나더 묻고 싶은데요
메모(DBMemo가 아니라 Tmemo)를 사용하여 DB에 Update, Insert를 하고
싶은데 잘 안되더라구요..
그래서 할 수 없이 Edit를 여러줄 사용하여 연결시켰는데
어떻게 해야 되는지요...
부탁드립니다....
> main program에서 dll을 call할때 oracle에 connect 합니다.
> 그런데 장시간(8시간정도) 실행되어야 하거든요...
> 그런데 가끔씩 connect error가 보여지면서 끊어지거든요
> 어떻게 해야 되죠?
>
> 그리고 하나더 묻고 싶은데요
> 메모(DBMemo가 아니라 Tmemo)를 사용하여 DB에 Update, Insert를 하고
> 싶은데 잘 안되더라구요..
> 그래서 할 수 없이 Edit를 여러줄 사용하여 연결시켰는데
> 어떻게 해야 되는지요...
> 부탁드립니다....
이재식 Wrote :
안녕하십니까?
저 역시 프로그램에서 dll를 호출합니다.
오라클 서버에 있는 데이터를 장시간 호출하죠.
전 아직 그런 경험이 없습니다만,
사용자 잘못이라기보다는 왠지 환경탓을 좀 해야 겠군요.
한번 이거 해보시죠.
자신은 없습니다만, 오라클 연결에대한 최적화 환경입니다.
먼저 sqlnet.ora파일을 찾으세요.
...networkadmin에 있을 것입니다.
거기에서 sqlnet.expire_time = 3정도로 잡으세요.
connect를 보다 빨리 합니다.
그리고 저장하시고 다시 부팅을...
글쎄요, 과연 효과를 볼 수 있을지...
그 정도의 에러설명으론 오라클로 개발하는 저로서는 뭐라고
설명을 드리기가....
참, 메모타입입니다.
이렇게 하시면 되요.
가령, 예를 들어.
sql.add('insert into test(name, memodata)') ;
sql.add('values (:p1, :p2)') ;
여기서 memodata필드는 메모형입니다.
paramByName('p2').asMemo := Memo1.Lines.Text ;
여기서, 메모테이터 타입에대해 삽입 및 수정을 하려면
반드시 insert into test명뒤에 그 메모필드가 존재해야 합니다.
그냥 insert into test라고만 쓰시면 다른것은 입력 및 수정이
되는데, 메모타입의 필드는 수정 및 입력이 안되요.
이런식으로 수정도 마찬가지죠.
그럼...