Question

Je dois migrer les bases de données Access vers SQL Server 2005. Etant donné que cela doit être effectué à partir d'une installation pour que l'installation d'un client soit migrée de manière transparente vers SQL Server 2005, je me demande s'il est possible d'automatiser le kit d'outils SSMA à partir de. Microsoft.

Était-ce utile?

La solution

En réalité, SSMA disposait d'une interface de ligne de commande (console spéciale exécutable dans le dossier d'installation de SSMA). Il était disponible à un moment donné, mais je ne suis pas sûr qu'il soit parvenu à la dernière version. Vous devez envoyer une requête ping au support SSMA pour savoir quelles versions en sont équipées et quels exemples d'utilisation sont disponibles. J'espère que cela vous aidera.

Autres conseils

À ma connaissance, une telle automatisation n'est pas disponible. Mais il vous est toujours possible de générer le code SQL qui crée la base de données (celle qui commence par la phrase "CREATE DATABASE") et de le lancer via votre interface utilisateur sur votre serveur SQL.

Pour générer ce code, vous pouvez

  1. Créez la base de données Access avec le toolkit Access
  2. Générez le "CREATE DATABASE" correspondant. Code SQL avec (par exemple) SQL Server Management Studio (cliquez avec le bouton droit de la souris sur la base de données, choisissez "base de données de scripts comme CREATE". EMS SQL Studio offre une très bonne alternative à SQL Server Management Studio
  3. Enregistrez le code pour une utilisation ultérieure

Avec EMS Studio, vous pouvez même décider si ce code met également à jour les données. Mais je préférerais automatiser le transfert de données via le code: vous pouvez par exemple parcourir les tables (dans le bon ordre, en fonction des relations), ouvrir des jeux d’enregistrements (un local, un SQL) et transférer des données en parcourant les champs (vous le ferez). même pas besoin de les nommer) avec un code comme:

(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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top