Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi lokale Multiuser DB gesucht (https://www.delphipraxis.net/182226-lokale-multiuser-db-gesucht.html)

SvB 10. Okt 2014 11:08

Datenbank: Access • Version: 2003 • Zugriff über: ADO

lokale Multiuser DB gesucht
 
Hallo,

ich habe aktuell ein Problem mit einer individuellen Anwendung, die eine Access MDB Datenbank benutzt. Die DB war damals Vorgabe vom Kunden.
Der Kunde hat im Laufe des Jahres auf Windows 7 umgestellt und seit dem gibt es Probleme mit der DB. Wenn ich über Access 2010 ein "Komprimierung und Reparieren" laufen lasse, dann fehlen auf einmal in mehreren Tabellen die Indexe. Gefühlt läuft dann mein Programm nur noch langsam und die User beschweren sich. Bisher habe ich nicht herausfinden können, woran das liegt, das Problem scheint jedoch mit der Installation beim Kunden zusammen zu hängen, auf die ich keine Einfluss habe.

Jetzt suche ich nach einer alternativen DB. Ich hätte gerne einen MS SQL Server eingesetzt, der ist auch beim Kunden schon vorhanden, jedoch wären dadurch größere Änderungen an der Struktur im Programm nötig und das bekomme ich von den Kosten nicht durch.

Die Anforderungen wären: lokale DB ohne Installation, die user arbeiten mit Laptops und die meisten haben eine lokale Installation der Anwendung mit lokaler DB, da nicht immer Zugriff zum Firmen Netzwerk vorhanden ist. Also zu 90% wird nur ein User auf dessen Gerät auf die lokale DB zugegriffen.
In der Zentrale des Kunden ist jedoch eine Version der DB, auf die mal 3 bis 4 User zugreifen, mehr User nicht. Dafür benötige ich am besten die selbe DB.

Gibt es da etwas?

Uwe Raabe 10. Okt 2014 11:20

AW: lokale Multiuser DB gesucht
 
Zitat:

Zitat von SvB (Beitrag 1275532)
Jetzt suche ich nach einer alternativen DB. Ich hätte gerne einen MS SQL Server eingesetzt, der ist auch beim Kunden schon vorhanden, jedoch wären dadurch größere Änderungen an der Struktur im Programm nötig und das bekomme ich von den Kosten nicht durch.

Und wieso glaubst du, daß das bei einer anderen DB nicht so ist?

Ich würde hier tatsächlich den SQL-Server einsetzen. Wo er beim Kunden schon existiert, nimmst du diese Instanz. An allen anderen Stellen die Express oder gar die Compact Version.

mkinzler 10. Okt 2014 11:22

AW: lokale Multiuser DB gesucht
 
Sollte von jedem aktuellen DBMS erfüllt werden. Am Besten das selbe lokal und im Netz, dann wäre auch eine Replikation von benötigten Daten in beide Richtungen möglich. Da schon ein MSSQL vorhanden ist, wäre das ja eine Option (MS Server Express/compact - MSSQL). Sonst würde ich Firebird embedded/FireBird - FireBird nehmen.

SvB 10. Okt 2014 12:18

AW: lokale Multiuser DB gesucht
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1275535)
Und wieso glaubst du, daß das bei einer anderen DB nicht so ist?

Ich hab verschiedene Möglichkeiten schon mal gedanklich durchgespielt. Bei einer "lokalen" DB müsste ich "nur" den Zugriff (Zugriffskomponenten) anpassen (mal einfach gesagt). Beim SQL Server müsste ich an der Struktur innerhalb vom Programm noch einiges Ändern, da nicht jeder Zugriff auf den Server hat. Ich müsste da noch Daten austauschen usw. Da sind noch ein paar andere Spezialitäten im Programm, die alle hier zu erklären würde das Ganze für den Moment sprengen.

Wie gesagt, die größte Anforderung ist, dass keine Installation auf dem Client erforderlich ist. Die Clients vom Kunden werden von HP gemanaged und es ist mit einem riesen Aufwand verbunden ein neues Softwarepaket zur Installation freigeben zu lassen. Auf dem Server ist die Installation kein Problem.

Kann ich mit einem embedded Firebird über das Netzwerk mit mehreren Usern auf eine DB zugreifen (Filebasiert). Firewallregeln sind auch ein Problem!

Darlo 10. Okt 2014 12:56

AW: lokale Multiuser DB gesucht
 
Soweit ich weiß ist ABSDatabase MultiUserfähig

mm1256 10. Okt 2014 15:55

AW: lokale Multiuser DB gesucht
 
Zitat:

Kann ich mit einem embedded Firebird über das Netzwerk mit mehreren Usern auf eine DB zugreifen (Filebasiert). Firewallregeln sind auch ein Problem!
Ob das mit Firebird geht, kann ich dir leider nicht beantworten. Ich mache das mit Nexus, damit geht's.

p80286 10. Okt 2014 16:08

AW: lokale Multiuser DB gesucht
 
Zitat:

Zitat von SvB (Beitrag 1275547)
Kann ich mit einem embedded Firebird über das Netzwerk mit mehreren Usern auf eine DB zugreifen (Filebasiert). Firewallregeln sind auch ein Problem!

Das ist auf keinen Fall empfehlenswert. Es gibt da ein paar Tricks aber sicher und problemlos ist der Zugriff mehrer Benutzer nur wenn ein Server(dienst) läuft.

Wenn schon der SQLServer im Hause ist, dann sollte es doch ein Klacks sein eine zusätzliche DB mit spezifischen Berechtigungen einzurichten. Damit bist Du auf der sicheren Seite.

Gruß
K-H

sx2008 11. Okt 2014 22:02

AW: lokale Multiuser DB gesucht
 
Zitat:

Zitat von SvB (Beitrag 1275532)
Ich hätte gerne einen MS SQL Server eingesetzt, ... jedoch wären dadurch größere Änderungen an der Struktur im Programm nötig

Wenn du mit ADO-Komponenten auf MS Access zugreifst dann stehen die Chancen extrem gut dass du nur die Access DB im SQL Server importieren musst und den Connectionstring anpassen musst.
Alles was Access in Bezug auf SQL kann kann der SQL Server ebenfalls.
Es gibt nur ganz wenige SQL-Funktionen in Access die beim SQL Server einen anderen Namen haben.
In Access werden alle varchar-Felder grundsätzlich intern als UTF-8 gespeichert.
Falls deine Anwendung Unicode benötigt musst du beim SQL Server den Datentyp nvarchar verwenden.

SvB 12. Okt 2014 08:09

AW: lokale Multiuser DB gesucht
 
Guten Morgen,

ich verwende ADO und der SQL Server beim Kunden selbst dürfte nicht das Problem sein, das könnte ich relativ einfach umstellen. Das Problem sind die Clients, die nur selten mit dem Firmennetzwerk verbunden sind. Diese benötigen eine eigene Datenbank. Das Problem dabei ist, dass das Clientmanagement nach HP outgesourced ist und es da bestimmte Regeln bei denen gibt. Eine Installation vom SQL Express ist da nicht so einfach möglich. Das muss erst mal genehmigt werden, dann müssen Installationspakete bei denen für die Softwareverteilung erstellt werden, usw. Ich weiß nicht genau, was da noch mit dran hängt und das kann 3 bis 4 Monate dauern. Am einfachsten wäre etwas ohne Installation auf dem Client oder irgend etwas, was ich als .DLL hinterlegen kann und diese über die Zugriffskomponenten genutzt wird.

PC-John 12. Okt 2014 09:20

AW: lokale Multiuser DB gesucht
 
Probier es mal mit Absolute-Database.
http://www.componentace.com/bde_repl...e_database.htm

Die Single-User Version funktioniert auch als Multiuser-Version, hat nur einen NAG-Screen zu Beginn.
Absolute Database hat nur ein einziges File (die Datenbank selbst), braucht keine .DLL und keine Installation.
Das Datenbankfile kann irgendwo im Netzwerk liegen, und hat Record-Locking ohne zusätzlich nötigen Programmcode.
Ich bin sehr zufrieden damit.
Habe zwar nur bis 300 Records darin, aber dafür 250 Felder breit, und haufenweise Indizies.

PC-John


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz