Frage

Ich habe eine kleine (8-10 Laptops) geschrieben Point-of-Sale-System über ein drahtloses Netzwerk ausgeführt wird, als HTA, die von / schreibt in eine Access MDB liest sich auf einer Netzwerkfreigabe.
Ich brauche ADO zu verwenden, -. GetString und der Benutzer Roster mit DAO nicht verfügbar sind
Ich muss auch DAO verwenden - das MDB kann nicht mit ADO verdichtet werden

.

Ich weiß, dass:
1) Wenn der Datenbank-Backend nicht eine Access MDB ist, soll ich ADO verwenden.
2) Wenn das Backend ein MDB ist, aber ich möchte irgendwann auf SQL Server aktualisieren, sollte ich ADO verwenden.
3) Im Rahmen einer Access-Anwendung oder einer anderen VBA / VB-Anwendung, sollte ich DAO verwenden, da ADO durch eine Übersetzungsschicht des Jet OLE DB-Provider gehen müssen, während DAO ist direkter.
4) VBScript / JScript ermöglicht es mir, entweder DAO oder ADO zu verwenden.

Die zweiteilige Frage lautet wie folgt:
1) In dieser Software-Umgebung (HTA / scripting), ist es besser, ADO zu verwenden, anstatt DAO?
2) Bietet ADO keine Vorteile, da die HTA Lesen / Schreiben über ein drahtloses Netzwerk?

War es hilfreich?

Lösung

  1. Wenn der einzige Grund, warum Sie benötigen DAO die Datenbank zu komprimieren ist, können Sie DAO dafür verwenden können, und ADO sonst für alles verwenden. Sie sind nur mit ADO oder DAO nicht darauf beschränkt.

  2. Der größte Vorteil ADO zu verwenden, ist, dass es einfacher sein wird, SQL Server Express zu bewegen, wenn die Zeit kommt. Sie sollten, dass früher tun als später, als SQL Server Express alle Vorteile von MS Access-Datenbanken ohne die Nachteile bietet. SQL Server Express ist kostenlos, und es wird die Systemgröße, die Sie vorschlagen.

  3. leicht handhaben

Access-Datenbanken korrupt leicht in einer Multi-User-Umgebung, vor allem, wenn ein drahtloses Netzwerk beteiligt ist. Wenn Sie die Vorteile zu verlieren, der Arbeit in MSAccess besorgt sind, können Sie immer noch auf SQL Server anhängen verknüpfte Tabellen verwenden, und die Arbeit mit SQL Server Express-Datenbank auf diese Weise.

Andere Tipps

Sie können auch JRO verwenden, um Ihre MDB-Datei zu komprimieren. Dies wird mit der jüngsten Version von MDAC enthalten werden, standardmäßig installiert auf XP und spätere Systemen. Keine Installation von Access erforderlich.

Ihre spezifische Fragen zu beantworten:

1) Ich würde für ADO entscheiden, nur weil es mehr aktuell ist, und die gleiche API kann auch in anderen Arten von Scripting verwendet werden, wie LDAP / ActiveDirectory- Zugang, Dateisystemordner zu lesen, MAPI Mail zu lesen, und die Zusammenarbeit mit anderen Arten Textdateien, wie feste Breite Text und CSV semi-strukturierter. Es ist nicht besonders besser für die HTA-Programmierumgebung, aber die vielleicht besser für Sie eine breit anwendbare API zu lernen. Ich auch denke, es ist ein einfacher API zu arbeiten, aber ich begann mit ihm und nur arbeitete später bei einigen älteren DAO-Projekten.

2) Ein möglicher Vorteil, dass ADO bietet, ist, dass der nicht verbundenen Datensätzen, die einen Vorteil oder zumindest haben einige architektonische Alternativen in Ihrem drahtlosen Netzwerk-Setup vor. Sie öffnen einen Re-Cord, dann trennen, so dass Sie immer noch mit den Daten im Speicher arbeiten können, aber nicht eine Datenbankverbindung offen lassen müssen. Dann zu einem späteren Zeitpunkt können Sie wieder an und die Datenbank aktualisieren. Auch Sie können in einem vollständig getrennten Stil arbeiten, indem sie Tabellen als lokale XML oder ADTG Dateien zu verwalten.

Sie können DAO Schuhanzieher in von VBScript arbeiten, aber das ist eine seltsame Paarung. ADO ist am sinnvollsten im Allgemeinen.


Ein weiterer Vorteil von ADO wäre, dass es RDS über DCOM oder HTTP unterstützt. Dies kann dazu verwendet werden, um viele der Einschränkungen von Jet MEB über File-Sharing, wie die Korruption unzuverlässigen Netzwerken und Clients zu überwinden führen. Er schneidet auch die Menge des Verkehrs über das Netzwerk, die Leistung zu verbessern. Darüber hinaus bietet es eine mittlere Ebene, in der Business-Objekte können „live“ und all dies mit COM vermittelt werden kann, + wo anwendbar.

Natürlich können Sie nicht mehr die Möglichkeit, ein einfaches P2P-Netzwerk mit und eine Dateifreigabe, die Datenbank zu hosten. RDS benötigt einen Server, den Prozess und führen Sie die Jet-Engine zu hosten, die nicht mehr benötigt auf jedem Client-System ausgeführt werden. Dies bedeutet, können Sie Jet gespeicherten Prozeduren verwenden, die auf dem Server ausgeführt werden, mehrere Client-Verarbeitung und den Netzwerkverkehr entlastet. Zwar nicht so anspruchsvoll wie T-SQL oder andere Alternativen, diese ADO / Jet 4.0 OLE DB Provider exklusive Technologie bietet greifbare Vorteile, die nicht gehabt werden können DAO verwenden.

RDS kann viel von dem Prozess der Verwendung von nicht verbundenen Datensatz Maske, Client-Code zu vereinfachen. Es verwendet ADTG unter der Haube, die für diesen Zweck entwickelt und optimiert wurde.

Allerdings mit RDS mehr Infrastruktur und Know-how als eine einfache Dateifreigabe erfordern. Genauso gut könnte man schauen in eine Low-End-Version von SQL Server.


Generell würde ich empfehlen, mit dem Jetcomp.exe Dienstprogramm zu komprimieren und reparieren, entweder über DAO oder JRO. Es bietet eine Reihe von Vorteilen auf.

Wenn Sie sich leisten können, eine HTA-Anwendung mit Zugriff zu verwenden, anstatt einer leistungsfähigere Plattform, ich würde sagen, dass Sie mit dem einfachstenen api für Sie gehen. Der Engpass wird nie die Abstraktion von DB-Zugriff in Ihrem Fall sein. Dennoch DAO ist wirklich alt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top