![]() |
Datenbank: MDB • Zugriff über: ADO
Von Access zu MSSQL
Hallo,
wenn ich eine Anwendung habe die per ADO auf Accessdateien zugreift, nun aber auf MSSQL umsteigen will, was ist da zu ändern? Den MSSQL-Server Express gibt es ja IMHO frei erhältlich, so dass man ihn mit der Anwendung verteilen kann?! Welche Komponenten sind dafür erforderlich und sind diese ebenfalls frei? Grüße nachträglich an alle Väter :-) |
Re: Von Access zu MSSQL
Du musst hier grundsätzlich relativ wenig ändern. Per Ado kann man problemlos auf MSSQL zugreifen
|
Re: Von Access zu MSSQL
Zitat:
- Umstellen von Serverside-Curser auf CLient-Side - Kontrolle und anpassung all deiner Access-Spezifischen Query-Statements - Ersetzen aller TADOTable (und am besten TADOQuery) durch TADODataset Am besten ist es alle DB-Zugriffe in eine Unit zu packen, darüber das Bridge-Pattern zu implementieren und dann mehrere DB's zu unterstützen. |
Re: Von Access zu MSSQL
Danke Leute,
ich glaube dass ich keine Access-typischen SQLstrings verwendet habe. Auch aggregate wie sum,max u.ä. sind ja nichts besonderes. Die Verbindung wird ja per ADOConnection hergestellt, wird diese auch verwendet und nur der Connectionstring angepasst? Zitat:
Zitat:
Zitat:
Umsteigen möchte ich deswegen um die Multiconnection zu gewährleisten, damit mehrere gleichzeitig auf die Tabellen zugreifen können! |
Re: Von Access zu MSSQL
Das geht mit access doch auch
|
Re: Von Access zu MSSQL
ich habe aber immer wieder gelesen,
dass es da Probleme damit gibt. Wenn mehr als einer auf eine Tabelle der DB zugreift. |
Re: Von Access zu MSSQL
Also wir haben es so gelöst, dass wir für jeden Benutzer eine MDB erstellt haben, die dann aber nur auf die Tabellen der "scharfen" Daten verknüpft ist. So öffnet jeder Benutzer seine eigenen Tabellen, es greifen aber alle auf die gleichen Daten zu.
|
Re: Von Access zu MSSQL
Zitat:
Zitat:
|
Re: Von Access zu MSSQL
Interessanter Ansatz,
mit Verknüpfungen hatte ich noch nichts am Hut. Das gilt für Lese- und Schreibvorgänge?! So das die Daten auch in die "scharfen" Tabellen geschrieben werden? Wie verhält es sich mit den Bedingungen, nagelt man sich damit fest, dass die Verknüpfung existieren muss oder wird erkannt wenn diese nicht exisitert. Quasi als Standalone verwendet wird. |
Re: Von Access zu MSSQL
Zitat:
|
Re: Von Access zu MSSQL
Also es verhält sich genauso, als wenn man direkt auf die Datenbank zugreift, für Lese -und Schreibvorgänge. Wie meinst du das, ob die Verknüpfungen existieren? Anbesten du probierst das mal an nem kleinen Beispiel aus...
|
Re: Von Access zu MSSQL
Zitat:
|
Re: Von Access zu MSSQL
Zitat:
Zitat:
|
Re: Von Access zu MSSQL
Zitat:
|
Re: Von Access zu MSSQL
Sollte ich tatsächlich nur mit Datasets arbeiten
stellt sich die Frage, wie unter Datasets SQLstrings gesendet werden. Da die Datasets kein ExecSql ausführen können. Ich hab auch nichts vergleich bares gefunden, ausser Append und Post. Und wie kann man den Commandtext umbrechen, wie bei querys mit add()? |
Re: Von Access zu MSSQL
Zitat:
|
Re: Von Access zu MSSQL
Was sicher nicht die schlechteste Lösung ist. ;)
@Privateer: es spricht aus meiner Sicht und wie gesagt nichts dagegen, bei TADOQuery zu bleiben - wenn man nicht gleich direkt aufsetzen will. Ansonsten: CommandText nimmt nur 'ganze' Strings, und der adäquate Ersatz für ExecSQL wäre, TADOCommand direkt zu verwenden (selbiger werkelt unter der Haube auch im TADODataset und Nachfahren). |
Re: Von Access zu MSSQL
Soweit denke ich ist meine Frage beantwortet
Vielen Dank an alle. Nur eines ist mir noch nicht ganz klar, wie das mit den User-mdb und verknüpfung zustande kommt Zitat:
damit konfrontiert wird und MSAccess zu Hilfe nehmen muss. Wäre schön wenn das veranschaulicht werden könnte. Nochmals Danke an alle |
Re: Von Access zu MSSQL
wenn ich mich von gestrigen abend erholt habe, kann ich dir gern' ein Beispielprojekt geben.
Haben es zwar in VB mit ADO gelöst, aber das sollte ja kein Problem sein... ich meld mich später ;) |
Re: Von Access zu MSSQL
Hallo Gemeinde ,
da dieses Thema immer noch für mich steht, möchte ich mal vorsichtig nachfragen ob nicht jemand ein Lösungsansatz für mich hat. Wie verknüpfe ich diese Tabellen so dass jeder User "seine" mdb hat aber diese mit einer Haupt-mdb abgeglichen wird? So das nur in der Haupt-mdb allgemeingültige (Statistik) Daten sind? Grüße |
Re: Von Access zu MSSQL
ich kann dir mal ein Beispiel in VB geben:
Code:
Denke, das dürfte in Delphi ähnlich funktionieren... Aber der Denkanstoß ist nun da, hoffe ich ;)
Dim pWS As Workspace
Dim DB As Database Dim TD As TableDef Set pWS = Workspaces(0) Set DB = pWS.CreateDatabase("\benutzerdatenbank.mdb", dbLangGeneral) Set TD = DB.CreateTableDef("Tabellenname") TD.Connect = ";DATABASE=hauptdaten.mdb;" TD.SourceTableName = "Tabelleenname" DB.TableDefs.Append TD |
Re: Von Access zu MSSQL
Zitat:
Ich kenne nur die Trennung in Frontend und Backend (in Access) was in sofern Sinn macht, dass alle User mit eigenen Frontends(in welchen sich die Formulare, Abfragen und dergleichen befinden) arbeiten und auf eine gemeinsame Backend DB zugreifen (in welchen die eigentlichen Daten liegen). Was dann noch erfolgen könnte, wäre eine Replizierung "lokaler" Backends (die eventuell von Aussendienstlern auf ihren Laptops verwendet werden) mit einer "MutterBackend DB" die sich im Firmennetzwerk befindet. Generell ist die Backend DB, bei einer Einbindung in die Frontends über Verknüpfungen, nach dem Öffnen der Frontends ebenfalls "geöffnet". Da aber ab Acc2k die Sperrung auf Datensatzebene erfolgt und nicht mehr wie bis dahin über Speicherframes (welche mehre DS umfassten oder umfassen konnten), sollte das kein Problem sein. Ich dachte der Vorteil einer Nutzung eines SQL Servers wäre der, dass man im Gegensatz zu Access aufwändigere Abfragen auf dem Server ablaufen lassen kann und dann nur das Ergebnis übermittelt bekommt (Client Prozessor Last, Netzlast, usw.). Weiterhin hatte ich bei der Verwendung von Delphi-> ADO -> Access schon mehrmals das Problem, CrossQrys mit Parametern ausführen zu wollen was ich einfach nicht hinbekommen habe. Ich hatte nun die Hoffnung das irgendwie eleganter mit SQL Server Express zu lösen. Nachdem ich mir diesen geladen und installiert habe, bin ich nun am LERNEN... Ich hoffe ich komme zu Ergebnissen :gruebel: Gruß Dirk |
Re: Von Access zu MSSQL
Danke Leute,
sehr interessant. Ich kann mit meinen bescheidenen Kenntnissen mir auch nur eine replizierung vorstellen. Denn letzlich muss nach einer Änderung der lokalen Daten auch die in der HauptDB erfolgen. Nur wie das funktioniert, hab ich keine Ahnung.Unter php würd ich ein Script basteln das nach erfolgreicher Änderung in einer Tabelle (Rückgabe) die gleichen Daten an eine andere DB sendet, validiert ob vorhanden. Vielleicht umständlich, aber es müsste funktionieren. Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz