SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Webpart Entwicklung Interop.SQLDMO.dll

Unbeantwortet Dieser Beitrag hat 2 Antworten

Ohne Rang
186 Beiträge
Benjamin Aicheler erstellt 18 Juli 2011 10:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

wir haben hier ein Webpart welches per Interop.SQLDMO.dll 8.5.0.0 auf den SQL Server zugreift. Im Sharepoint 2007 in 32bit hat das toll funktioniert. Im Sharepoint 2010 in 64bit tut es nicht. System.Runtime.InteropServices.COMException: Retrieving the COM class factory for component with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80040154.

Die Lösung soll nun sein, die Anwendung, also in meinem Fall das Webpart, als Platform target x86 zu wählen. Ich nehme an die dll wird dann in 32bit compiliert. Nun bekomme ich aber "Der Typ konnte nicht gefunden werden oder ist nicht als sicher registriert." An der dll hat sich nichts geändert was im safecontrol Eintrag zu ändern wäre. Es scheint als könnte ich keine x86 dll verwenden, stimmt das?

Im Microsoft SQL Server 2005 Backward Compatibility Components von hier: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=16177 sollen die Interop sachen eigendlich drin sein, aber diese dll war nicht dabei. Zumindest nicht im x64 Paket.

Jemand eine Idee was ich tun kann?

 

Danke.

Benjamin

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Juli 2011 11:00
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Eine Lösung für das eigentliche Problem kann ich Dir nicht bieten, aber ich würde das komplett anders machen. Warum erstellt Ihr nicht z.B. einen WCF-Dienst, der den eigentlichen Zugriff auf SQL regelt. Das Webpart ruft dann nur noch diesen Service auf, was IMHO wesentlich sauberer wäre.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
186 Beiträge
Benjamin Aicheler Als Antwort am 18 Juli 2011 11:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,

Google hat mich da etwas auf eine falsche Fährte gelockt. Es hat also nichts mit x86 oder x64 zu tun.

Die Interop.SQLDMO.dll (im GAC) benötigt zusätzlich die SQLDMO.dll (in C:\Program Files\Microsoft SQL Server\80\Tools\Binn\). Diese ist tatsächlich im oben genannten Microsoft SQL Server 2005 Backward Compatibility Components dabei. Ich habe leider immer nur im GAC geschaut und dort nichts gefunden.

Es funktioniert also wieder.

Mit dem WCF-Dienst hast Du sicherlich Recht, aber damit habe ich mich noch nicht auseinander gesetzt.

 

Gruß

Benjamin