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-Key: 69993

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

Printed on: April 16, 2024 at 12:04 o'clock

Member: seimen
seimen Oct 02, 2007 at 12:38:34 (UTC)
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
Member: Nuker5
Nuker5 Oct 02, 2007 at 18:43:29 (UTC)
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
Member: seimen
seimen Oct 02, 2007 at 19:22:42 (UTC)
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
Member: Biber
Biber Oct 02, 2007 at 19:29:21 (UTC)
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
Member: Nuker5
Nuker5 Oct 03, 2007 at 18:13:31 (UTC)
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.
Member: seimen
seimen Oct 04, 2007 at 05:46:10 (UTC)
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
Member: Nuker5
Nuker5 Oct 04, 2007 at 17:44:02 (UTC)
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
Member: Biber
Biber Nov 17, 2007 at 16:30:09 (UTC)
Goto Top
Moin Nuker5,

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

Grüße
Biber
Member: Nuker5
Nuker5 Nov 17, 2007 at 19:15:48 (UTC)
Goto Top
Leider nein. Ich habe immer noch die vage Hoffnung, dass jemand da noch eine Lösung für hat.

Viele Grüße
Member: Biber
Biber Nov 17, 2007 at 19:58:38 (UTC)
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
Member: Nuker5
Nuker5 Nov 17, 2007 at 22:41:07 (UTC)
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.