2016-04-13 13 views
0

Mit .NET möchte ich eine Verbindung zu einem EA-Modell von einer externen Anwendung herstellen.Kann ich mich mit einem bestimmten Enterprise Architect-Modell verbinden?

Wenn ich mehr als ein offenes EA-Modell habe - z. B. zwei remote gehostete SQL Server-Modelle - wie kann ich Daten aus nur einem der Modelle extrahieren?

# any way to specify a specific data source? 
var r = new EA.Repository(); 

# As I don't think is what I want because: 
# 1) didn't want to Open a document -- just connect to it 
# 2) don't have a filename - just a model name and/or ConnString... 
bool isOpen = r.OpenFile("C:/Sparx-EA/Test Project.EAP"); 

# etc. 
Element ele = r.GetElementByID(10); 

Vielen Dank!

Antwort

0

Dies ist in den manual dokumentiert:

Openfile (string Dateinamen) Boolean

Weiteren Informationen: Dies ist der wichtigste Punkt für eine Enterprise Architect Projektdatei von einem Automatisierungs Client öffnen und Arbeits mit den enthaltenen Objekten.
Wenn das erforderliche -Projekt ein DBMS-Repository ist und Sie eine Verknüpfung .eap mit der Datenbankverbindungszeichenfolge erstellt haben, können Sie diese Verknüpfungsdatei für den Zugriff auf das DBMS-Repository aufrufen.
Sie können auch eine Verbindung zu einer SQL-Datenbank herstellen, indem Sie anstelle eines Dateinamens die Verbindungszeichenfolge selbst übergeben.
Eine gültige Verbindungszeichenfolge kann im Projektdialog Open abgerufen werden, indem ein kürzlich geöffnetes SQL-Repository ausgewählt wird.
Parameter: Dateiname: String - der Dateiname des Projekts des Unternehmens Architekt

0

Repository.OpenFile() zu öffnen, ist die richtige Methode zu verwenden. Sie können eine Verbindungszeichenfolge übergeben, es muss keine Datei sein.

Ein Repository Objekt kann immer nur mit einem EA-Projekt verbunden sein. Um sich mit zwei EA-Projekten im selben Prozess zu verbinden, erstellen Sie zwei Repository Objekte.

Schließlich sind die numerischen Identitäten, die in Aufrufen wie Repository.GetElementByID() verwendet werden, nur innerhalb eines Repository gültig. Die Zahl 10 bezieht sich wahrscheinlich auf zwei verschiedene Elemente in zwei Repositories - oder wurde in einem von ihnen gelöscht. Wenn Sie wissen, dass Sie dasselbe Element in zwei Repositories haben, verwenden Sie stattdessen Repository.GetElementByGuid().

Verwandte Themen