Voraussetzungen:
ich zu Beginn der Paketausführung zu MS Dynamics CRM Web Services verbinden möchten und die Verbindung der ganzen Paket wieder verwenden, aber ich konnte dies nicht über SSIS-Variablen tun.SSIS-Skripttask `Ungültige Guss exception` bei Abrufen von komplexen Objekts von Variablen
ich nicht Verbindungs-Manager verwenden können, weil ich OrganizationService.Execute
Methode verwenden, die nicht von WebService Task-Assistenten unterstützt wird
Schritte:
- Added Microsoft.Xrm.Sdk DLL zu GAC und Skriptverweise;
- Erstellt Datenfluß Aufgabe und zwei separate Skript Aufgaben innerhalb
- Erstellt 2 Paketvariablen
crmOrganizationService
undcrmOrganizationServiceProxy
- beide vom Typ
System.Object
script task 1
undscript task 2
kann sie lesen-schreiben
- beide vom Typ
Innen von
script task 1
:- Instanziieren Sie
OrganizationServiceProxy
undOrganizationService
und stellen Sie eine Verbindung mit MS Dynamics CRM-Webdiensten her. Weisen beide Instanzen von Objekten Variablen
//create public OrganizationServiceProxy _serviceProxy = new OrganizationServiceProxy(orgServiceManagement, adCredentials); public IOrganizationService _service =(IOrganizationService)_serviceProxy; //assign this.Variables.crmOrganizationServiceProxy= _serviceProxy; this.Variables.crmOrganizationService=_service;
- Instanziieren Sie
Innerhalb von
script task 2
:OrganizationServiceProxy _serviceProxy = (OrganizationServiceProxy)this.Variables.crmOrganizationServiceProxy
Fehler:
In Schritt 5 I Ungültige Guss Ausnahme wegen Unfähigkeit erhalten System.Object
als Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy
Abhilfe zu werfen:
Ich bin sicher, dass das Problem in Grund Boxen von Variablen ist, während sie zwischen Skript Aufgaben übergeben. Ich habe jedoch keinen besseren allgemeinen Ansatz gefunden. In diesem muss ich Instanzen von benutzerdefinierten Klassen zwischen Skriptaufgaben übergeben.