여러 Oracle 데이터베이스에서 테이블을 가져올 수있는 간단한 VBA가 있습니다. 하나의 ODBC 항목이 있고 다른 자격 증명을 사용하여 다른 데이터베이스에 연결합니다.Access 2002에서 여러 oracle 소스의 데이터베이스를 어떻게 전송할 수 있습니까?
내 전송 데이터베이스 코드는 간단하다 :
DoCmd.TransferDatabase acImport, "ODBC", "ODBC;DNS=source;UID=user;PWD=pass;", acTable, "SomeRemoteTable", "MyLocalTable", True
그 코드가 작동하지만 다른 사용자와 동일한 명령을 실행할 때/나는 얻을이 명령 한 후이 오류 immediatley 통과 :
을 Run-time error '3011': The Microsoft Jet database engine could not find the object 'SomeRemoteTable'. Make sure the object exists and that you spell its name and the path name correctly
.
여기 캐치의 :
는 DNS, 사용자 자격 증명 및 테이블 이름은 정확합니다. 액세스를 열고 주석을 달면 주석이 성공적으로 실행됩니다. 그러나 한 명령이 실행되면 Access가 닫히고 다시 열릴 때까지 다른 명령이 실행되지 않습니다.
다음으로 진행하기 전에 첫 번째 연결을 닫는 방법이 있어야한다고 생각합니다. 누구든지 내가 시도 할 수있는 아이디어가 있습니까?
은 분명하지만 여러 개의 TransferDatabase 명령을 실행할 수 있지만 하나의 자격 증명 집합 만 있습니다. 대체 자격 증명으로 TransferDatabase 명령을 실행하려면 액세스를 다시 시작한 다음 실행해야합니다. –
기다림 효과가없는 것 같습니다. 관심이 있는지 확실하지 않지만 오류가 발생한 후에 원래 TransferDatabase 명령을 실행할 수 있으므로 첫 번째 연결을 계속 사용할 수 있습니다. –
ADO를 사용해 보셨습니까? – Fionnuala