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().
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)