source

ADO와 DAO의 차이입니다.

manysource 2023. 4. 25. 22:36

ADO와 DAO의 차이입니다.

이것은 어떤 것이 더 나은지에 대한 질문이라기보다 기능적으로 차이가 나는 이유에 대한 질문입니다.제가 부딪히던 문제는 해결되었는데, 왜 이런 일이 일어나는지 궁금합니다.

배경 - Excel vba를 사용하여 Access 데이터베이스에서 데이터를 가져옵니다.사용자가 단추를 클릭하면 Access에서 레코드 세트가 풀리고 다양한 데이터가 스프레드시트에 채워집니다.그런 다음 다른 조회에서 다른 레코드 세트를 가져와 스프레드시트의 다른 부분을 채웁니다.

ADO의 기능 - ADO는 첫 번째 레코드 세트에 매우 적합합니다.그러나 두 번째 레코드 집합은 Access(액세스)의 쿼리로 이동하고 실행한 후 행을 반환하지 않습니다.액세스에서 이 쿼리를 실행하면 3~4초 후에 열립니다.이 쿼리에는 여러 조인, 계산된 항목, 제한 및 유니언 쿼리가 있습니다(유니온 유무 등 다양한 방법으로 시도했습니다).임시 연결을 닫았다가 다시 열려고 했습니다.시간 초과 값을 변경해 보았고 ADO 명령을 사용하여 Make table queries를 실행한 다음 대신 테이블에서 pull을 실행했습니다(데이터가 지속적으로 변경되기 때문에 최상의 경우는 아닙니다). 이 도구를 사용할 때마다 make table query를 실행할 필요가 없습니다).

두 번째 데이터 풀을 DAO로 변경했는데, 작동했습니다.첫 번째 데이터 풀은 여전히 ADO(일반적으로 사용하는 것을 선호함)이지만, 코드에 하나의 데이터 액세스 방법을 사용하는 것이 더 좋기 때문에 DAO로 변경하는 것을 고려하고 있습니다.

그럼, 왜 ADO가 한 케이스에서 데이터를 가져오지 않고, DAO가 데이터를 가져올지 누가 설명해주실 수 있나요?다시 말씀드리지만, 이는 순전히 정보 제공의 목적입니다.

DAO는 Jet(Ms-Access) 데이터 테이블의 기본 데이터 액세스 방법입니다.ADO "Active X Data Objects"는 거의 모든 유형의 데이터베이스에 대한 업계 친화적인 연결입니다.

표준 쿼리의 경우 DAO가 반환하는 레코드가 없는 경우, 쿼리에 Access 데이터베이스 내의 항목과 관련된 매개 변수도 포함되어 있어야 합니다.이 경우 ADO는 Excel에 대한 외부 참조일 뿐이기 때문에 해당 매개 변수를 사용할 수 없으며 DAO 방법을 사용하면 Excel이 아닌 Access를 트리거하여 쿼리를 실행할 수 있으므로 자체 매개 변수/참조 항목에 액세스할 수 있습니다.

이 질문에 대한 답변은 이미 잘 된 것 같습니다만, DAO와 ADO를 비교할 수 있는 우수한 리소스를 하나 더 추가하고자 합니다.주로 Access 양식 및 보고서를 사용하는 Access 애플리케이션을 대상으로 하지만, 여기서 설명하는 대부분의 정보는 Excel로 작성된 솔루션에 적용됩니다.

ReuteAccess Wiki:ADO와 ADO 중에서 선택합니다.

Visual Basic에서는 다음 세 가지 데이터 액세스 인터페이스를 사용할 수 있습니다.ActiveX 데이터 개체(ADO), 원격 데이터 개체(RDO) 및 DAO(데이터 액세스 개체)가 있습니다.데이터 액세스 인터페이스는 데이터 액세스의 다양한 측면을 나타내는 개체 모델입니다.Visual Basic을 사용하면 연결, 문 작성기 및 반환된 데이터를 모든 응용 프로그램에서 사용할 수 있도록 프로그래밍 방식으로 제어할 수 있습니다.

Visual Basic에 세 가지 데이터 액세스 인터페이스가 있는 이유는 무엇입니까?데이터 액세스 기술은 지속적으로 발전하고 있으며, 세 가지 인터페이스는 각각 다른 최신 기술을 나타냅니다.최신 ADO는 RDO 또는 DAO보다 단순하면서도 유연한 객체 모델을 특징으로 합니다.새 프로젝트의 경우 ADO를 데이터 액세스 인터페이스로 사용해야 합니다.

언급URL : https://stackoverflow.com/questions/9737099/difference-between-ado-and-dao 입니다.