Benutzer mit den meisten Antworten
Access -> SQL-Server: Tabellen unter der Haube austauschen

Frage
-
Sehr geehrte Damen und Herren,
##### Situation #####
wir nutzen Microsoft Access mit Frontend und Backend für eine interne Verwaltungssoftware (VS). Die Ladezeiten der VS sind sehr langsam, wir nehmen an wegen ineffizienten Datenbankzugriffen. Deswegen soll die Datenbank umgestellt werden auf Microsoft SQL-Server. Ich bin ein Masterstudent und aus Sicht der Firma "extern eingekauft" und habe keine Erfahrung mit Microsoft Access, vollziehe learning by doing.
##### SMAA #####
Wir wissen, dass ein Migrationstool dafür existiert, sehen aufgrund der Vorbedingungen an die DB aber derzeit keine Möglichkeit das Tool SMAA anzuwenden. Außerdem möchten wir die DB grundlegend überdenken und normalisieren. Statt SMAA haben wir uns überlegt die Datenbank händisch in SQL-Server nachzubilden und diese neu im Access Frontend zu verlinken.
##### Grundproblem #####
Wir möchten alle, also 20-40 Tabellen in SQL-Server abbilden und im Access Frontend statt der bisherigen benutzen. "dbo_Projekte" haben wir probeweise über Externe Daten -> ODBC-Datenbank hinzugefügt. Diese soll "Projekte" ersetzen. (Bild 1)
Über Datenbanktools -> Objektabhängigkeiten sind wir der Meinung alle Vorkommnisse der Tabelle herausfinden zu können. Wir denken auf jedes Formular doppelklicken zu müssen, in dem Eigenschaftenblatt unter dem Dropdownfeld "Formular" auszuwählen und dann bei Datensatzquelle mit rechtsklick auf die "..." mithilfe der Zoom-Funktion die Tabelle beim SQL-Befehl hinter "FROM" umbenennen müssen von "Projekte" auf "dbo_Projekte". (Bild 2)
##### Frage #####
Dies erscheint sehr mühsehlig und Fehleranfällig.
Was ist Ihrer Meinung nach der beste und sicherste Weg, um die Migration durchzuführen?
Ist es beispielsweise möglich die Tabelle / Datenbank direkt unter der Haube zu ersetzen ohne im "Quelltext" Änderungen machen zu müssen? Also sodass die Tabelle "Projekte" auf den SQL-Server zugreift anstatt auf die Access-Backend Datei? (Bild 3)
Dankeschön
Michael
- Bearbeitet Stefan FalzModerator Dienstag, 8. Dezember 2020 10:19 Bild URLs als Bilder eingefügt
Antworten
-
Am 08.12.2020 schrieb Enomine88:
##### Situation #####
wir nutzen Microsoft Access mit Frontend und Backend für eine interne Verwaltungssoftware (VS). Die Ladezeiten der VS sind sehr langsam, wir nehmen an wegen ineffizienten Datenbankzugriffen.Es ist sicherlich besser, zuerst eine Analyse zu erstellen, ob das was
ihr angenommen habt, auch die wirkliche Ursache ist.Deswegen soll die Datenbank umgestellt werden auf Microsoft SQL-Server. Ich bin ein Masterstudent und aus Sicht der Firma "extern eingekauft" und habe keine Erfahrung mit Microsoft Access, vollziehe learning by doing.
Denkbare schlechte Voraussetzung.
##### SMAA #####
Wir wissen, dass ein Migrationstool dafür existiert, sehen aufgrund der Vorbedingungen an die DB aber derzeit keine Möglichkeit das Tool SMAA anzuwenden. Außerdem möchten wir die DB grundlegend überdenken und normalisieren. Statt SMAA haben wir uns überlegt die Datenbank händisch in SQL-Server nachzubilden und diese neu im Access Frontend zu verlinken.OK.
##### Grundproblem #####
Wir möchten alle, also 20-40 Tabellen in SQL-Server abbilden und im Access Frontend statt der bisherigen benutzen. "dbo_Projekte" haben wir probeweise über Externe Daten -> ODBC-Datenbank hinzugefügt. Diese soll "Projekte" ersetzen. (Bild 1)
<https://i.ibb.co/m0B0K70/Tabellenaustausch-1.png>OK, funktioniert auch. Sollte man aber IMO automatisiert abändern
lassen.Über Datenbanktools -> Objektabhängigkeiten sind wir der Meinung alle Vorkommnisse der Tabelle herausfinden zu können. Wir denken auf jedes Formular doppelklicken zu müssen, in dem Eigenschaftenblatt unter dem Dropdownfeld "Formular" auszuwählen und dann bei Datensatzquelle mit rechtsklick auf die "..." mithilfe der Zoom-Funktion die Tabelle beim SQL-Befehl hinter "FROM" umbenennen müssen von "Projekte" auf "dbo_Projekte". (Bild 2)
<https://i.ibb.co/DYB0jV2/Tabellenaustausch-2.png>Sicher dass es keine SQL Statements in Kombinationsfeldern gibt?
##### Frage #####
Dies erscheint sehr mühsehlig und Fehleranfällig.
Was ist Ihrer Meinung nach der beste und sicherste Weg, um die Migration durchzuführen?Alles neu machen. Das Frontend sollte dann IMO ohne Tabellen sein,
immer nur per Funktion die Daten vom SQL Server holen, die man
braucht. Ist viel Arbeit, aber geht. Und man muss natürlich die
Performance eines SQL Servers nutzen, d.h. Du arbeitest mit
StoredProcedures und Views auf dem SQL Server. Aber ich verknüpfe
keine Tabellen vom SQL Server mehr in Access.Ist es beispielsweise möglich die Tabelle / Datenbank direkt unter der Haube zu ersetzen ohne im "Quelltext" Änderungen machen zu müssen? Also sodass die Tabelle "Projekte" auf den SQL-Server zugreift anstatt auf die Access-Backend Datei? (Bild 3)
<https://i.ibb.co/vDY5j9F/Tabellenaustausch-3.png>Das könnte möglich sein, hab ich so noch nie probiert.
Servus
Winfried
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/
Access-FAQ: http://www.donkarl.com/AccessFAQ.htm Access-Stammtisch: http://www.access-muenchen.de- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 14. Dezember 2020 10:03
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Donnerstag, 24. Dezember 2020 14:35
Alle Antworten
-
Am 08.12.2020 schrieb Enomine88:
##### Situation #####
wir nutzen Microsoft Access mit Frontend und Backend für eine interne Verwaltungssoftware (VS). Die Ladezeiten der VS sind sehr langsam, wir nehmen an wegen ineffizienten Datenbankzugriffen.Es ist sicherlich besser, zuerst eine Analyse zu erstellen, ob das was
ihr angenommen habt, auch die wirkliche Ursache ist.Deswegen soll die Datenbank umgestellt werden auf Microsoft SQL-Server. Ich bin ein Masterstudent und aus Sicht der Firma "extern eingekauft" und habe keine Erfahrung mit Microsoft Access, vollziehe learning by doing.
Denkbare schlechte Voraussetzung.
##### SMAA #####
Wir wissen, dass ein Migrationstool dafür existiert, sehen aufgrund der Vorbedingungen an die DB aber derzeit keine Möglichkeit das Tool SMAA anzuwenden. Außerdem möchten wir die DB grundlegend überdenken und normalisieren. Statt SMAA haben wir uns überlegt die Datenbank händisch in SQL-Server nachzubilden und diese neu im Access Frontend zu verlinken.OK.
##### Grundproblem #####
Wir möchten alle, also 20-40 Tabellen in SQL-Server abbilden und im Access Frontend statt der bisherigen benutzen. "dbo_Projekte" haben wir probeweise über Externe Daten -> ODBC-Datenbank hinzugefügt. Diese soll "Projekte" ersetzen. (Bild 1)
<https://i.ibb.co/m0B0K70/Tabellenaustausch-1.png>OK, funktioniert auch. Sollte man aber IMO automatisiert abändern
lassen.Über Datenbanktools -> Objektabhängigkeiten sind wir der Meinung alle Vorkommnisse der Tabelle herausfinden zu können. Wir denken auf jedes Formular doppelklicken zu müssen, in dem Eigenschaftenblatt unter dem Dropdownfeld "Formular" auszuwählen und dann bei Datensatzquelle mit rechtsklick auf die "..." mithilfe der Zoom-Funktion die Tabelle beim SQL-Befehl hinter "FROM" umbenennen müssen von "Projekte" auf "dbo_Projekte". (Bild 2)
<https://i.ibb.co/DYB0jV2/Tabellenaustausch-2.png>Sicher dass es keine SQL Statements in Kombinationsfeldern gibt?
##### Frage #####
Dies erscheint sehr mühsehlig und Fehleranfällig.
Was ist Ihrer Meinung nach der beste und sicherste Weg, um die Migration durchzuführen?Alles neu machen. Das Frontend sollte dann IMO ohne Tabellen sein,
immer nur per Funktion die Daten vom SQL Server holen, die man
braucht. Ist viel Arbeit, aber geht. Und man muss natürlich die
Performance eines SQL Servers nutzen, d.h. Du arbeitest mit
StoredProcedures und Views auf dem SQL Server. Aber ich verknüpfe
keine Tabellen vom SQL Server mehr in Access.Ist es beispielsweise möglich die Tabelle / Datenbank direkt unter der Haube zu ersetzen ohne im "Quelltext" Änderungen machen zu müssen? Also sodass die Tabelle "Projekte" auf den SQL-Server zugreift anstatt auf die Access-Backend Datei? (Bild 3)
<https://i.ibb.co/vDY5j9F/Tabellenaustausch-3.png>Das könnte möglich sein, hab ich so noch nie probiert.
Servus
Winfried
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/
Access-FAQ: http://www.donkarl.com/AccessFAQ.htm Access-Stammtisch: http://www.access-muenchen.de- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Montag, 14. Dezember 2020 10:03
- Als Antwort markiert Ivan DragovMicrosoft contingent staff, Moderator Donnerstag, 24. Dezember 2020 14:35
-
Hallo Michael
So wie die Namen der Tabellen aufgebaut sind deutet das ganz darauf hin das du dieses auch in den Feldbezeichnungen haben wirst - Lehrzeichen Sonderzeichen.....
ich würde das 1 x Komplett neu aufsetzen sonst hast du keine freude daran
Kurzfristig sollte man sich evtl. die Indexe anschauen - sind die vernünftig gesetzt
Basieren die Formulardaten auf Abfragen in der DB oder sind die SQL Strings beim formular hinterlegt
Sind evtl. ungeschickte Sortierungen in den Abfragen
Ich denke das "nur" der umstig auf den MSSQL der falsche weg ist - weil besonders dabei sollte man die DB kennen
Gruss
Michael
-
aber du kannst die tabelle Projekte doch wieder als Projekte einbinden - und nicht als dbo_Projekte
dann sollte es zum testen so weiter laufen
GANZ wichtig bei der ODBC Anbindung ist das du an jeder Tabelle einen Timestamp Feld in den MSSQL Tabellen anfügst