2010-12-08 7 views

답변

2

"이 데이터베이스는 어디 SQL의 이전 버전에서 만든", 데이터베이스 서버는 더 이상 이전의 소프트웨어로 만들어진 데이터베이스 파일을 읽고 없다 그들은 재건되어야한다. 가장 쉬운 방법은 dbunload 도구를 사용하여 데이터베이스를 새 데이터베이스로 언로드하는 것입니다. 당신은 한 번에이 작업을 수행 할 수 있습니다

dbunload -c uid=<user>;pwd=<password>;dbf=<DBFileName> -an <newDBFileName> 

는 다음 버전 (12) 서버를 사용하여 실행할 수있는 새 데이터베이스 파일을 만듭니다. 단일 단계 (때로는 새 서버에 문제가 오래된 데이터베이스를 언로드있다)에서이 작업을 수행 할 수없는 경우, 당신은 여러 단계에서 그것을 할 수있다 :

  1. 사용에게 dbunload 유틸리티를 그 오래된 함께 제공 소프트웨어를 사용하여 dbunload -c uid=<user>;pwd=<password>;dbf=<DBFileName> unload과 같은 것을 사용하여 데이터베이스를 언로드하십시오. 이렇게하면 "언로드"라는 디렉토리가 만들어지고 여기에 .dat 파일을 저장합니다. 또한 "reload.sql"스크립트를 작성합니다.
  2. 이전 서버를 종료하십시오.
  3. 새로운 소프트웨어와 함께 제공되는 dbinit 유틸리티를 사용하여 적절한 설정 (암호화, 데이터 정렬, 페이지 크기 등)으로 새 데이터베이스를 만듭니다.
  4. 새 데이터베이스를 시작하고 dbisql -c uid=<user>;pwd=<password> reload.sql

전체 공개를 실행

  • : 나는 엔지니어링 어디서나 SQL에서 Sybase의 경우 작동합니다.

  • +0

    답변에 감사드립니다! 나는 이것을 시도 할 것이다! – Redi

    +0

    dbunload (rebuild.bat를 통해)를 사용하려했지만 v7 데이터베이스를 언로드하기 위해 (v11) 가져올 수 없습니다. – pascal

    +0

    @ 파스칼 : 여러 단계에서이 작업을 수행해야 할 수 있습니다. 단계를 설명하기 위해 내 대답을 업데이트하겠습니다. –