Reverse engineering d'une base de données (Scripting)

Vous pouvez vous connecter à une base de données en utilisant la méthode ConnectToDatabase(), et procéder au reverse engineering du schéma vers un MPD en utilisant ReverseDatabase().

Pour connecter une base de données via une source de données utilisateur ou système, définissez une constante sous la forme "ODBC:nomsourcedonnées". Par exemple :
Const cnxDSN = "ODBC:ASA 9.0 sample"
Pour utiliser un fichier de source de données, définissez une constante avec le chemin complet vers le fichier DSN. Par exemple :
Const cnxDSN = "\\romeo\public\DATABASES\_filedsn\sybase_asa9_sample.dsn"

Ce script crée un nouveau MPD, se connecte à une base de données via une source de données système, définit des options de reverse engineering et récupère tous les objets dans le MPD :

' Définition d'une source de données ODBC et d'un fichier de MPD 
Const cnxDSN = "ODBC:MaBaseDonnees"
Const cnxUSR = "MonUtilisateur"
Const cnxPWD = "MonMotPasse"
Const filename = "C:\temp\MaBaseReverse.mpd"

Dim pModel, pOpt
' Création du modèle avec le SGBD approprié 
Set pModel=CreateModel(PdPDM.cls_Model, "|DBMS=Sybase SQL Anywhere 12")
' Masquage des boîtes de dialogue 
InteractiveMode = im_Batch

' Connexion à la base de données 
 pModel.ConnectToDatabase cnxDSN, cnxUSR, cnxPWD
' Définition d'options de reverse engineering pour récupérer tous les objets listés via ODBC 
 Set pOpt = pModel.GetPackageOptions()
 pOpt.ReversedScript = False
 pOpt.ReverseAllTables = true
 pOpt.ReverseAllViews = true
 pOpt.ReverseAllStorage = true
 pOpt.ReverseAllTablespace = true
 pOpt.ReverseAllDomain = true
 pOpt.ReverseAllUser = true
 pOpt.ReverseAllProcedures = true
 pOpt.ReverseAllTriggers = true
 pOpt.ReverseAllSystemTables = true
 pOpt.ReverseAllSynonyms = true
 
' Récupère la base dans le modèle puis enregistre le modèle 
 pModel.ReverseDatabase
 pModel.save(filename)