1

내 클라이언트가 Advantage Database Server를 사용 중이고 SQL Server로 이동하려고하지만 분명히 모든 클라이언트 데이터를 SQL Server 로의 업그레이드의 일부로 이동하려고합니다.Advantage Database Server에서 SQL Server로 데이터 전송

전재를 할 앱을 작성하는 것에 대해 생각했지만 그 가치보다 더 어려울 수 있다고 생각했습니다.

무엇을 권하고 싶습니까?

답변

1

응용 프로그램을 개발하는 동안 sql server와 advantage server 사이를 전환했으며 주로 SQL Server 관리 스튜디오에서 가져 오기 기능을 사용했습니다. 기본적으로 oledb 드라이버를 사용하여 이점 데이터베이스 웹 사이트에서 데이터베이스 및 가져 오기 데이터를 만듭니다. 자세한 내용은 this link을 시도하십시오. 다시 돌아가는 것은 약간 교묘합니다.하지만 그것은 또 다른 이야기입니다.

트릭을 수행해야하는 전송 중 하나 일 경우 전송에 대한 공정한 제어가 있어야합니다. 적어도 adt/adi 파일 이점 데이터베이스 서버는 테이블 간의 관계를 기록하지 않기 때문에 PK 및 데이터 관계에 대한 정보가 전송에서 살아남지 못할 수 있습니다. 그들이 장점 데이터베이스를 계속 실행하고 두 데이터베이스의 데이터 사본을 유지하려는 경우, 시도하지 않았습니다. 이 경우 OMG Ponies의 제안이 트릭을 수행 할 수 있습니다.

+0

고마워 할 것입니다. 복잡하게 만드는 것은 userbase입니다. 분명히 그들은 전문 지식이 없기 때문에 나는 앞으로 나아갈 길이 아닌 데이터 전송을 할 것으로 생각되는 애플리케이션을 노크 할 필요가있을 것이다! – Jon

+0

장점 데이터베이스는 일반적으로 데이터베이스의 유지 관리가 필요하지 않으므로 일반적으로 저장된 데이터 양이 상대적으로 적기 때문에 전문 지식이 낮은 상황에서 자주 사용됩니다. 도움이 필요하면 저에게 알려주십시오. 하지만 먼저 ODBC를 사용하여 SQL Server 가져 오기 도구를 사용해보십시오. 적어도 데이터 구조의 시작을 제공 할 수 있습니다. 동일한 응용 프로그램에서 두 데이터베이스에 연결하는 경우 양쪽 데이터베이스 모두 해당 기술을 사용하여 연결하기가 쉽습니다.delphi에서 장점이있는 tdataset 구성 요소를 찾으십시오. c에 대해 확실하지 않습니다. – LizHanson

+0

데이터 전송을 위해 쓸 앱은 C#이 될 것입니다. 우리는 Delphi/Advantage에서 C#/MSSQL으로 이동하고 있습니다. 이점 데이터베이스를 링크하기 위해 sp_addlinkserver 명령을 수행해야합니다. 그런 다음 어떻게 든 이점 데이터베이스에서 스키마를 가져와야하지만 하드 코딩을 한 다음 데이터베이스 명령 작성 및 작성 테이블로드를 수행 할 수 있습니다. 그런 다음 데이터를 가져 오는 모든 이점 테이블을 반복하십시오. 장난! – Jon

2

사용 (또는 들어 본) 장점 데이터베이스 서버,하지만 난 것하지 않았 :

  1. 설치 어드밴티지 DB에 연결하는 linked server instance in SQL Server합니다. Advantage db 용 OLE 드라이버 - this link이 도움이 될 것입니다.
  2. 일단 완료되면 Advantage db에서 행을 빨아 들여 스크립트없이 SQL Server 행을 빨아 들일 수 있습니다.

덜 영구적 인 솔루션의 경우 OPENROWSET을 사용하여 Advantage db에 대한 연결을 열 수 있습니다. 연결된 서버와 동일한 OLE 드라이버를 사용하지만 연결을 사용하는 동안에 만 연결이 열립니다.

+0

일부 자동화 방법이 있습니까? 사용자가 자신을 수행 할 수 없으므로 클릭하기 위해 일종의 정렬 버튼을 제공해야하고 데이터 전송이 시작됩니다. – Jon

+0

@Jon : Automated? 한 번 설정하면 더 이상 필요 없으면 비활성화/삭제할 수 있습니다. 사용 권한 및 액세스 권한은 연결에 사용하는 Advantage 사용자에 따라 다릅니다. –

+0

죄송합니다. 사용자가 SQL Server를 열고 전송할 것으로 예상되지 않습니다. 그들에게 뭔가 할 일이 생기므로 연결된 서버를 만든 다음 그 행을 가로 질러 전송하는 앱을 작성해야합니다. – Jon

1

OMG 조랑말이 제안한대로 ETL 프로세스를보다 잘 제어해야한다고 생각되면 SSIS를 사용할 수도 있습니다. Sybase는 "제로 - 관리, DBA 필요 없음"- 조만간 귀하와 귀하의 데이터가 커질 것이라고 광고합니다. ODBC driver available이 있으므로 실행 가능해 보입니다.

관련 문제