Frage

Ich muß Access-Datenbanken auf SQL Server 2005 migrieren Da dies innerhalb einer Einrichtung getan werden muss, so dass eine Installation der Kunden transparent zu SQL Server 2005 migriert wird, frage ich mich, ob es möglich ist, den SSMA-Toolkit zur Automatisierung von Microsoft.

War es hilfreich?

Lösung

Eigentlich hatte SSMA Kommandozeilen-Schnittstelle (spezielle Konsole ausführbar im SSMA Installationsordner). Es war irgendwann einmal zur Verfügung, aber ich bin mir nicht sicher, ob es seinen Weg zum letzten Release gemacht. Sie sollten SSMA Unterstützung über ping, was Versionen es war und was Beispiele ihrer Nutzungen zur Verfügung. Ich hoffe, dies wird Ihnen helfen.

Andere Tipps

Um mein eigenes Wissen, eine solche Automatisierung ist nicht verfügbar. Aber es ist immer noch möglich, dass Sie den SQL-Code zu erzeugen, der die Datenbank erstellt (das eine, die mit der „CREATE DATABASE“ Satz beginnen wird), und starten Sie es durch Ihre Benutzeroberfläche auf dem SQL-Server.

Um diesen Code zu generieren, können Sie

  1. Erstellen Sie die Access-Datenbank mit dem Access-Toolkit
  2. Generieren Sie den corresponing "CREATE DATABASE" SQL-Code mit (zum Beispiel) SQL Server Management Studio (Rechtsklick auf Datenbank "Skript-Datenbank als CREATE". EMS SQL Studio bietet eine sehr schöne Alternative zu SQL Server Management Studio wählen
  3. Speichern Sie den Code für die weitere Verwendung

Mit EMS-Studio können Sie selbst entscheiden, ob dieser Code auch die Daten aktualisiert. Aber ich würde es vorziehen, die Datenübertragung durch den Code zu automatisieren: Sie können zum Beispiel der Tabellen sehen (in der richtigen Reihenfolge, auf Beziehungen abhängig), offene Cord-Sets (eine lokal, eine SQL), und Übertragen von Daten durch die Felder Surfen (Sie tun nicht einmal mit Code-Namen müssen) wie:

(localRecordset links to local table. can be DAO or ADODB; Adjust code accordingly)
(sqlRecordset links to the SQL server. can be DAO or ADODB; Adjust code accordingly)

localRecordset.moveFirst

Do while not localRecordset.EOF
    sqlRecordset.addnew
    For each field in localrecordset.fields
        sqlRecordset.fields(field.name).value = field.value
    Next field
    sqlRecordset.update
    localRecordset.moveNext
Loop
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top