문제

나는 무선 네트워크를 통해 실행되는 소규모 (8-10 랩톱) 포인트 판매 시스템을 작성하여 네트워크 공유에 위치한 액세스 MDB에서 읽거나 쓰는 HTA로 작성했습니다.
Ado -GetString을 사용해야하며 DAO에서는 사용자 명단을 사용할 수 없습니다.
또한 DAO를 사용해야합니다. MDB는 Ado와 함께 압축 할 수 없습니다.

나는 그것을 알고있다 :
1) 데이터베이스 백엔드가 액세스 MDB가 아닌 경우 ADO를 사용해야합니다.
2) 백엔드가 MDB이지만 어느 시점에서 SQL Server로 업그레이드하려면 ADO를 사용해야합니다.
3) Access 응용 프로그램 또는 기타 VBA/VB 응용 프로그램 내에서 ADO는 Jet Ole DB 제공 업체의 번역 계층을 거쳐야하고 DAO는 더 직접적이므로 DAO를 사용해야합니다.
4) vbscript/jscript를 사용하면 DAO 또는 ADO를 사용할 수 있습니다.

두 부분으로 구성된 질문은 다음과 같습니다.
1)이 소프트웨어 환경 (HTA/스크립팅)에서 DAO보다는 ADO를 사용하는 것이 더 낫습니까?
2) ADO는 HTA가 무선 네트워크를 통해 읽거나 쓰고 있기 때문에 어떤 혜택을 제공합니까?

도움이 되었습니까?

해결책

  1. DAO가 필요한 유일한 이유는 데이터베이스를 압축하는 것인 경우 DAO를 사용하고 다른 모든 것에 Ado를 사용할 수 있습니다. 당신은 Ado 또는 Dao 만 사용하는 것으로 제한되지 않습니다.

  2. ADO를 사용하면 가장 큰 장점은 시간이 오면 SQL Server Express로 이동하는 것이 더 쉬울 것입니다. SQL Server Express는 단점없이 MSAccess 데이터베이스의 모든 이점을 제공하기 때문에 나중에보다 빨리 그렇게해야합니다. SQL Server Express는 무료이며 제안하는 시스템 크기를 쉽게 처리합니다.

액세스 데이터베이스는 다중 사용자 환경에서, 특히 무선 네트워크가 관련 될 때 쉽게 손상됩니다. MSAccess에서 작업의 이점을 잃어버린 것에 대해 걱정하는 경우 링크 된 테이블을 사용하여 SQL Server에 여전히 첨부하고 SQL Server Express 데이터베이스와 같은 방식으로 작업 할 수 있습니다.

다른 팁

JRO를 사용하여 MDB 파일을 압축 할 수도 있습니다. 여기에는 XP 및 이후 시스템에 기본적으로 설치된 최근의 MDAC 버전에 포함됩니다. 액세스 설치가 필요하지 않습니다.

특정 질문에 답하기 위해 :

1) ADO가 더 최신이기 때문에 ADO를 선택하고 LDAP/ACTIVEDIVEDIVERIACTION 액세스, 파일 시스템 폴더 읽기, MAPI 메일 읽기 및 다른 유형의 반도와 같은 다른 종류의 스크립팅에서 동일한 API를 사용할 수 있습니다. 고정 너비 텍스트 및 CSV와 같은 구조화 된 텍스트 파일. HTA 프로그래밍 환경에는 구체적으로 더 좋지는 않지만 더 널리 적용 가능한 API를 배우는 것이 좋습니다. 또한 작업하기가 더 쉬운 API라고 생각하지만, 나는 그것으로 시작했고 나중에 나중에 오래된 DAO 프로젝트에서 일했습니다.

2) ADO가 제공하는 한 가지 이점 중 하나는 분리 된 레코드 세트의 이점이며, 이는 무선 네트워크 설정에서 이점이 있거나 최소한 일부 아키텍처 대안을 제안 할 수 있습니다. 레코드 세트를 열면 연결을 끊으므로 메모리에서 데이터와 함께 작업 할 수 있지만 데이터베이스 연결을 열지 않아도됩니다. 그런 다음 나중에 데이터베이스를 다시 연결하고 업데이트 할 수 있습니다. 또한 로컬 XML 또는 ADTG 파일로 테이블을 관리하여 완전히 연결되지 않은 스타일로 작동 할 수 있습니다.

당신은 dao가 vbscript에서 일하기 위해 신발 할 수 있지만 그것은 이상한 쌍입니다. Ado는 일반적으로 가장 의미가 있습니다.


ADO의 또 다른 장점은 DCOM 또는 HTTP보다 RD를 지원한다는 것입니다. 이는 부패 신뢰할 수없는 네트워크 및 클라이언트와 같은 파일 공유를 통해 사용되는 JET MDB의 많은 한계를 극복하는 데 사용될 수 있습니다. 또한 네트워크를 통한 트래픽의 양을 줄여 성능을 향상시킵니다. 또한 비즈니스 객체가 "살아"할 수있는 중간 계층을 제공하며 해당되는 경우 COM+를 사용하여 중재 할 수 있습니다.

물론 더 이상 간단한 P2P 네트워크와 파일 공유를 사용하여 데이터베이스를 호스팅 할 수있는 옵션이 없습니다. RDS는 프로세스를 호스팅하고 제트 엔진을 실행하기 위해 서버가 필요하며, 이는 더 이상 각 클라이언트 시스템에서 실행할 필요가 없습니다. 즉, 서버에서 실행되는 JET 저장 절차를 사용할 수 있으며 더 많은 클라이언트 처리 및 네트워크 트래픽을 오프로드 할 수 있습니다. T-SQL 또는 기타 대안만큼 정교하지는 않지만이 Ado/Jet 4.0 Ole DB 제공 업체 독점 기술은 DAO를 사용할 수없는 실질적인 이점을 제공합니다.

RDS는 연결 해제 된 레코드 세트를 사용하여 클라이언트 코드를 단순화하는 많은 프로세스를 마스킹 할 수 있습니다. 이 목적을 위해 개발되고 최적화 된 후드 아래에서 ADTG를 사용합니다.

그러나 RDS를 사용하려면 간단한 파일 공유보다 더 많은 인프라와 전문 지식이 필요합니다. 저쪽 버전의 SQL Server를 살펴볼 수도 있습니다.


일반적으로 사용하는 것이 좋습니다 JetComp.exe DAO 또는 JRO를 통해 소형 및 수리에 유용합니다. 그것은 여러 가지 장점을 제공합니다.

보다 성능이 뛰어난 플랫폼 대신 액세스 할 수있는 HTA 응용 프로그램을 사용할 수 있다면 가장 쉬운 API를 사용해야한다고 말합니다. 병목 현상은 귀하의 경우 DB 액세스의 추상화가 아닙니다. 그래도 Dao는 정말 늙었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top