Q&A

  • MS Access DB-->Oracle로 이관시 문제???
안녕하십니까?
MS Access 로컬DB로 데이터베이스 프로그램을 하여 사용하고 있는중에
이번에 Oracle DB로 Upgrade하기로 하여 DB를 이관 작업(Migration)를
하게 되었습니다.

우선 Delphi에 있는 Datapump를 이용하여 테이블 스키마와 데이터를 이관하였지요.

그런데, 프로그램내에 있는 Database컴포넌트에서 MS Access를 가르키던
Alias(AliasAccess)를 새로 생성한 Oracle를 가르키는 Alias(AliasOracle)로
변경하였더니 에러가 발생을 하였습니다.

원인을 설명하기 위해 간단히 테이블 레이아웃과 이관된 내용을 설명해드리겠습니다.
1.MS Access
  Table명 : Table1
    필드 -- 필드타입
    Amt  -- 정수(Long)
2.Oracle(Datapump를 이용해 자동으로 생성)
  Table명 : Table1
    필드 -- 필드타입
    Amt  -- NUMBER(10)
위와 같이 테이블 스키마가 생성되었고,
  에러가 발생한 원인은
  MS Access에서 사용한 Table1의 Amt필드가 델파이 프로그램에서는 TIntegerField로
  잡혀 있었는데, Oracle의 Amt필드는 필드타입이 NUMBER형이어서
  델파이 프로그램에서는 TFloatField로 인식한 다는 것입니다.

물론 델파이 프로그램에서 Oracle로 새로 잡혀진 필드타입으로 재 설정하여,
코딩되어 있는 소스를 형에 맞추어서 고치면 문제가 없겠으나,
그렇게 한다는 것은 넘 많은 시간이 요구되기에, 기존 델파이 프로그램 내용을
고치지 않고서 Oracle의 Amt필드를 TIntegerField로 형을 맞추어 줄 수 있는 방법을
찾고 있습니다.

고수님들의 많은 실험과 경험을 답변으로 남겨 주시면 감사 하겠습니다.
1  COMMENTS
  • Profile
    KYH 2002.10.17 07:11
    글쎄여...지금 oracle에 연결할수없어 테스트 할 순 없지만

    datadump 에서 upsize 하시기전에 보시면

    'Modify Table Name or .....'라구하는 버튼이 있을겁니다.

    거기서보면 테이블명과 필드 타입을 조정할수 있을겁니다.

    테스트를 못해봐서 좀 그렇네여....