nuker5
Goto Top

Struktur MSSQL zu Access-Datenbank übetragen

Hallo,

ich habe eine Frage. Ich habe das schon mal geschafft, allerdings weiß ich beim besten Willen nicht mehr wie:
Ist es möglich, eine Datenbank vom SQL2000 oder SQL2005-Server in eine Access-Datei zu übertragen?
Wichtig ist dabei, dass die Struktur der Tabellen erhalten bleibt mit Indexen und Primärschlüsseln und ganz wichtig auch die Views importiert werden und soweit möglich auch die Prozeduren.
So dass man dann nur noch wenig Handarbeit notwendig hat.

Wenn mir da jemand weiterhelfen könnte, wäre das super supi.

Vielen Dank

Marcel

Content-ID: 69993

Url: https://administrator.de/contentid/69993

Ausgedruckt am: 05.11.2024 um 04:11 Uhr

seimen
seimen 02.10.2007 um 14:38:34 Uhr
Goto Top
Hallo Marcel,

ich lege zu diesem Zweck einen ODBC-Treiber an.
Lege nun eine neue Datenbank in Access an und steuere über den Menüpunkt "Datei - externe Daten - Importieren" den zuvor angelegten ODBC-Treiber an (Dateityp ODBC-Datenbanken).
In der sich öffnenden Maske auf den Reiter Computerdatenquelle klicken und den ODBC-Treiber markieren und auf OK klicken.

So sollte es funktionieren.

Gruß
seimen
Nuker5
Nuker5 02.10.2007 um 20:43:29 Uhr
Goto Top
Schön und gut... jedoch wie bekommt man die Abfragensyntaxe in Access portiert?
Gibt es da irgendwelche Software, die sowas automatisieren kann?

Viele Grüße

Marcel
seimen
seimen 02.10.2007 um 21:22:42 Uhr
Goto Top
Hallo Marcel,

die Datenbankstruktur inkl. Indizes und PrimaryKeys bleibt erhalten, Viewes werden ebenfalls mit übertragen. Procedures und Abfragen können mittels des beschriebenen Weges nicht übertragen werden. Da weiß ich leider keine adäquate Lösung.


Gruß
Seimen
Biber
Biber 02.10.2007 um 21:29:21 Uhr
Goto Top
Moin seimen,

Views werden ebenfalls mit übertragen.

Sicher? Kennt Access denn inzwischen Views?
Menno, M$ resp. Access ist wohl doch gar nicht sooo schlecht, wie ich immer zu wissen glaubte....

Grüße
Biber
Nuker5
Nuker5 03.10.2007 um 20:13:31 Uhr
Goto Top
Also soweit ich das sehen kann werden die Views als Tabellen importiert.
Mir geht es aber darum, dass die Views als Abfragen importiert werden.
Dass die Prozeduren nicht funktionieren ist mir irgendwie klar auf Grund vieler Restriktionen.
Aber wenn die Views mit gehen würden wäre das toll.
seimen
seimen 04.10.2007 um 07:46:10 Uhr
Goto Top
Hallo Marcel,

da hast Du recht: Die Views werden wie eine Tabelle importiert.
Ich kann mir auch keine andere Möglichkeit vorstellen. Ein View ist nunmal als virtuelle
Tabelle zu behandeln.
Wenn Du einen View als Abfrage in Access haben möchtest, wird Dir nur die Hand am Arm bleiben.

Gruß
Seimen
Nuker5
Nuker5 04.10.2007 um 19:44:02 Uhr
Goto Top
Ich bin mir aber sicher, dass es geht. Ich habe eine Datenbank, die ich schon mal mit irgendeiner Software von SQL nach Access übertragen habe, und da blieben Tabellen Tabellen und Views blieben Abfragen. Prozeduren waren selbstverständlich nicht da.
An sich sollte das ja kein großer Akt sein, weil sich die Abfragen in Access über Jet auch durch CREATE VIEW ... AS ...
anlegen lassen. Die gleiche Möglichkeit bietet ja auch TSQL. In Access gibt es nur halt einige Besonderheit, wie z.B. dass CASE in TSQL in Access mit IIf() dargestellt wird.
Vielleicht gibt es ja auch eine Möglichkeit in TSQL, die Queries einzeln über Cursor durchzugehen und dann die Syntax in Access-Dialekt zu konvertieren. Dann kann man wenigstens die Abfragen recht schnell erzeugen.

Viele Grüße
Biber
Biber 17.11.2007 um 17:30:09 Uhr
Goto Top
Moin Nuker5,

hast Du denn eine Lösung gefunden inzwischen?
Oder die Frage noch offen?

Grüße
Biber
Nuker5
Nuker5 17.11.2007 um 20:15:48 Uhr
Goto Top
Leider nein. Ich habe immer noch die vage Hoffnung, dass jemand da noch eine Lösung für hat.

Viele Grüße
Biber
Biber 17.11.2007 um 20:58:38 Uhr
Goto Top
Moin Nuker5,

na ja, viel Hoffnung würde ich mir nicht auf eine fertige Software machen für den Weg zurück auf M$Access.

Weil diese Anforderung bzw, der Weg in diese Richtung ziemlich exotisch ist.
Man/frau muss ja schon sehr verzweifelt sein oder sehr leidensfahig, um von einer SQL-DB auf Access zurückzufallen.

Anyhow, wieso ist Dir denn ein automatisches Konvertieren so wichtig?
Reden wir von 500 Tabellen mit 2000 Views?
Ich meine, so dicke und so komplex kann die Datenbank ja nicht sein, wenn sie ebensogut mit Access laufen könnte...

Und die Views "konvertieren" kann doch nicht so schwierig sein - Du wirst doch irgendwo die "CREATE VIEW"-Statements haben und kannst doch erstmal an zwei oder dreien die Syntax-Unterschiede identifizieren.
Und dann lässt Du irgendeinen Wechsel-Ersetze-VBA-Makro über diese Skripte drüberparsen und legst den Kram in Access an.

Oder gibt es noch irgendwelche nicht genannten Details, die einen so einfachen Plan scheitern lassen könnten?

Grüße
Biber
Nuker5
Nuker5 17.11.2007 um 23:41:07 Uhr
Goto Top
Der Grund für diese Rückkonvertierung ist eigentlich recht einfach:
Für Dokuzwecke. Eine Access lässt sich viel einfacher an mehrere Personen einfach verteilen.
Und da wäre es gut, wenn man schon ungefähr wenigestens die Struktur der Originaldatenbank hätte. Und die Größenordnung der Views und Tabellen kommt sogar ungefähr hin.
Da kann man natürlich die Syntax der Views aus SQL rausholen und versuchen die Syntax an Access anzupassen. Allerdingswird es zur Sisyphusarbeit, wenn man das alle zwei Monate machen muss, um die Datenbank aktuell zu halten.
Da wäre es doch gut, wenn man das auf einen Knopfdruck haben könnte, was ich ja wie schon gesagt schon mal gemacht habe und nur leider nicht mehr weiß, welche Software es war.