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.




Die Lösung mit BCS auslieferbar machen

Unbeantwortet Dieser Beitrag hat 11 Antworten

Ohne Rang
6 Beiträge
EntwicklerSP13 erstellt 6 Sept. 2013 06:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Guten Tag,

ich habe die folgende Konstellation:

Es gibt eine SP2013-Farm, wo im SecureStore die Anmeldeinformationen für das einmalige Anmelden konfiguriert sind: die Zielanwendungs-ID, den SQL-Anmeldename und das SQL-Kennwort, die auch auf einem MS-SQL-Server festgelegt sind.

Durch das BCS wurden die benötigten Tabellen der Datenbank des MS-SQL-Servers, die auf der Wevsitte der Sharepoint-Farm in der externen Liste angezeigt werden. Dabei wurde SPD 2013 verwendet: (MS-SQL-Server-Name, Zielanwendungs-ID, benötigte Spalten etc.)

Die Frage ist, ob es möglich ist, solche Lösung auslieferbar machen und bei dem Kunden "installieren".

Der Kunde hat auch dieslebe externe Datenbank, die auf MS-SQL-Server ist. Der MS-SQL-Server-Name ist jedoch anders.

Als ich versuch habe, die Website ins WSP machen und dan auf dem Kunden-Sharepoint 2013 zu verwenden, sehe ich gar keine externe Liste...

Sollte ich auf dem Kunden-SP2013 die die Anmeldeinformationen für das einmalige Anmelden zu erfassen und dann in BCS-Dienst die Anmeldeinfos noch mal festlegen und auf dem Kunden-MS-SQL-Server das Anmeldekonto&Kenntwort definieren??

Oder ist es möglich diese Infos irgendwie auch ausliefern??

 

Ich bedanke mich für die Antworten

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Sept. 2013 08:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Transportieren kann man die Konfiguration, indem man sie als WSP exportiert. Die kann man in Visual Studio importieren und dort dann auch andere Servernamen eintragen. Allerdings kann man diese Verbindungseinstellungen zum SQL Server auch manuell im Browser editieren. Wenn man in der Zentraladministration auf die BDC Service Application geht, hat man dort die Models und kann deren parameter ändern.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
6 Beiträge
EntwicklerSP13 Als Antwort am 6 Sept. 2013 10:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

nochmal Danke für die Antwort:-)

den Vorschlag mit dem Visual Studio finde ich jedoch nicht besonders gut, da den Kunde ggf. der VisualStudio auf dem Rechner, wo die SP-Farm ist, haben müsste. Die Einstellung bzg. der Verbindungsdaten zu MS-SQL-Server sehe ich unterhalb  BDC Service Application=> Ansicht "Externe Systeme"=>Externes System-Auswahl=>Systeminstanz-Auswahl.

Ich habe testweise die externe Datenbank unter anderem Namen erstellt, dann auf meinem SharePoint-Farm für bestehende Systeminstanz die Verbindungsdaten zu MS-SQL-Server angepasst, ohne Anmeldeinfos auf dieser neuen Datenbank anzulegen.

Wenn ich nur zu den externen Liste wechsle, sehe ich die folgende Fehlermeldung:

Es kann keine Verbindung mit dem "LobSystem" (externes System) hergestellt werden. Ursache: "Die von der Anmeldung angeforderte testdbXYZ-Datenbank kann nicht geöffnet werden. Fehler bei der Anmeldung. Fehler bei der Anmeldung für den Benutzer 'TestSharePointGroupAccount'."

Dies bedeutet für mich, dass der Kunden-Admins sollten auf dem MS-SQL-Server die benötigten Daten erfassen. Danach sollten die Kunden-Farm-Admins manuell je externes System die Daten nachpflegen samt ganzen Objektberechtigungen bzw. Berechtigungen für den Metadatenspeicher...

Ich habe es slicht die Schritte gemacht, ich sehe trzotzdem die externe Liste auf dem Kunden-System leider nicht...

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Sept. 2013 10:31
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="EntwicklerSP13"]da den Kunde ggf. der VisualStudio auf dem Rechner, wo die SP-Farm ist, haben müsste.[/quote]

Nein, nein. Mit Visual Studio kann man eine WSP importieren, verändern/erweitern und dann wieder eine WSP erzeugen. Nur diese muß dann auf das Kundensystem - ganz ohne Visual Studio.

[quote user="EntwicklerSP13"]Ich habe testweise die externe Datenbank unter anderem Namen erstellt, dann auf meinem SharePoint-Farm für bestehende Systeminstanz die Verbindungsdaten zu MS-SQL-Server angepasst[/quote]

Wahrscheinlich müßte man die Anmeldeinfos im Secure Store ebenfalls entsprechend anpassen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
6 Beiträge
EntwicklerSP13 Als Antwort am 6 Sept. 2013 11:12
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]Nein, nein. Mit Visual Studio kann man eine WSP importieren, verändern/erweitern und dann wieder eine WSP erzeugen. Nur diese muß dann auf das Kundensystem - ganz ohne Visual Studio.[/quote]

Sollte ich also in Visual Studio die Verbindungsdaten anpassen? Oder was genau sollte angepasst werden?

Und wie sieht es mit den Berechtigungen  auf dem Kunden-SP-Farm aus, die für BCS festgelegt werden müstten? Die müssten wohl manuell auf dem Kunden-SP-Farm angepasst werden, da ja die ActiveDirectory/Benutzer/Benutzergruppen, die die Daten sehen dürfen, heißen wohl andres als auch meinen SP?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Sept. 2013 11:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="EntwicklerSP13"]Sollte ich also in Visual Studio die Verbindungsdaten anpassen? Oder was genau sollte angepasst werden?[/quote]

Ich habe damit nur eine der Möglichkeiten genannt, wie man das machen könnte. Schaue Dir einfach mal in Visual Studio die XML-Datei an. Ziemlich am Anfang siehst Du auf verschiedenen Ebenen verschiedene <Parameter> Elemente. Die spiegeln die Einstellungen wider, die man auch im Browser bei der BDC Service Application machen kann. Welchen Weg Du letztlich gehen möchtest, mußt Du selbst entscheiden.

[quote user="EntwicklerSP13"]Und wie sieht es mit den Berechtigungen  auf dem Kunden-SP-Farm aus, die für BCS festgelegt werden müstten?[/quote]

Das muß in der Regel immer kundenspezifisch vor Ort gemacht werden.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
6 Beiträge
EntwicklerSP13 Als Antwort am 6 Sept. 2013 15:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]

Transportieren kann man die Konfiguration, indem man sie als WSP exportiert.

[/quote]

Hi,

nur stellt sich die Frage, wie denn ich richtig die BDC-Konfiguration als WSP exporitere und danach die Verbindungs-Daten in imporiterten WSP sehe:-///

Momentan gehe ich wie folgt vor:

"Dienstanwendungen verwalten" auswähle=> Business Data Connectivity-Dienst auswähle. Dann im "Anzeigen" die Ansicht "Externe Systeme" auswähle. Dann das gewünschtes externes System auswähle und danach die Systeminstanz. Dort sehe ich der Name des Datenbankservers, Name der Datenbank , die Zielanwendungs-ID für einmaliges Anmelden und die Implementierung für einmaliges Anmelden.

Dann gehe ich zu "Webseiteeinstellungen" und unter Rubrik "Websiteaktionen" die "Website als Vorlage speichern" selektiere. Dann gebe ich der gewünschte Name der WSP-Datei und weitere Daten. Letztendlich öffne ich "Lösungen" und wähle die Lösung aus und speichere auf Festplatte.

Als ich WSP-Datei in Visual Studio importiere, sehe ich den Haufen;-) der Infos. Leider finde ich jedoch gar keinen Abschnitt mit der Verbindunsdaten. Ich habe schon schlicht mit Notpad++ nach relevanten Inhalten (z.B. Name des MS-SQL-Servers) gesucht und nix gefunden.

Ich habe eine andere Möglichkeit gefunden, wie man ein BDC-Modell exportieren kann, indem bei der Business Data Connectivity-Dienst im "Anzeigen"die Ansicht "BDC-Modell" nimmt, dann gib es die Aktion "Exportieren" im Band, es wird die Datei mit der Eweiterung .bdcm exportiert. Dort stehen im XML-Form u.a. die Verbindungsdaten. ..Man könnte die Daten auch importieren...

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 6 Sept. 2013 16:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="EntwicklerSP13"]ein BDC-Modell exportieren kann, indem bei der Business Data Connectivity-Dienst im "Anzeigen"die Ansicht "BDC-Modell" nimmt, dann gib es die Aktion "Exportieren" im Band, es wird die Datei mit der Eweiterung .bdcm exportiert[/quote]

Entschuldige die Verwirrung - ich habe das schon ein Weilchen nicht mehr gemacht. Genau das ist natürlich der richtige Weg. Nur falls gewünscht kann man diese bdcm-Datei auch in eine WSP verpacken. Das ist z.B. dann sinnvoll, wenn die Lösung noch mehr enthält, was dann insgesamt die Gesamtanwendung ergibt. Meist besteht die ja nicht nur aus einem BDC-Modell.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
6 Beiträge
EntwicklerSP13 Als Antwort am 6 Sept. 2013 20:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]

 

Entschuldige die Verwirrung - ich habe das schon ein Weilchen nicht mehr gemacht. Genau das ist natürlich der richtige Weg. Nur falls gewünscht kann man diese bdcm-Datei auch in eine WSP verpacken. Das ist z.B. dann sinnvoll, wenn die Lösung noch mehr enthält, was dann insgesamt die Gesamtanwendung ergibt. Meist besteht die ja nicht nur aus einem BDC-Modell.

[/quote]

Die Lösung wird gewiss mehr enthalten. Ich wollte jedoch für mich den wichtigste Teil: externe-Daten-Im-Kunden-SP-Farm-Anzeigen  zuerst abhaken.

Nur habe ich noch weitere Frage: womit packe ich diese bdcm-Datei ins WSP-Datei und an welche Stelle denn der WSP-Datei?? Sollte ich WSP mit WinZip, ZiP bzw. 7z entpacken und im Wurzel-Verzeihnis bdcm-Dateiablegen und wiederum mit WinZip, ZiP bzw. komprimieren. Oder gibt es fortgeschritenen Techniken;-)?

Ahja, kannste die guten  Bücher/Tutorials/blogs das Thema ausrollen/installieren betreffend der Lösungen empfehlen?

 

Vielen herzlichen Dank für deine Hilfe!

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Sept. 2013 08:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="EntwicklerSP13"]womit packe ich diese bdcm-Datei ins WSP-Datei und an welche Stelle denn der WSP-Datei?? [/quote]

Das kannst Du alles Visual Studio überlassen. Wenn Du in Visual Studio ein SharePoint-Projekt anlegst, passiert das alles automatisch. Ein Rechtsklick auf das Projekt und "Add new item" ermöglicht Dir auch ein BDC-Element hinzuzufügen. Dessen Inhalt kannst Du dann mit Deinem eigenen ersetzen.

[quote user="EntwicklerSP13"]kannste die guten  Bücher/Tutorials/blogs das Thema ausrollen/installieren betreffend der Lösungen empfehlen?[/quote]

Ich kann Dir da nur die Suchmaschine Deiner Wahl empfehlen. Mit der Zeit bekommst Du die richtigen Suchbegriffe heraus, aber mache Dich darauf gefaßt, daß Du viel Zeit mitbringen mußt. Entwicklung für SharePoint ist anfangs nicht einfach...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
6 Beiträge
EntwicklerSP13 Als Antwort am 9 Sept. 2013 15:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote]Das kannst Du alles Visual Studio überlassen. Wenn Du in Visual Studio ein SharePoint-Projekt anlegst, passiert das alles automatisch. Ein Rechtsklick auf das Projekt und "Add new item" ermöglicht Dir auch ein BDC-Element hinzuzufügen. Dessen Inhalt kannst Du dann mit Deinem eigenen ersetzen.

[/quote]

Ok. habe ich genau so wie beshrieben gemacht. Und gleich habe ich den Fehler in Bezug auf die Kodierung der bdcm-Datei bekommen, als ich "Erstellen" gemacht habe. Das Problem lag darin, dass die Datei, die nach dem Export aus SP2013 ensteht, hatte die UTF-16 Kodierung gehabt (dies habe ich schon in hexeditor nachgeprüft;-)) ). Die Datei, die durch den VS2012 erstellt wurde, hatte jedoch UTF-8 Kodierung.(Abgesehen davon .NET BDC-Modell wurde erstellt. Die c# Dateien habe ich schlicht gelöscht).

Ich verstehe jedoch erlich gesagt eine nicht: Die externe Liste ist der Teil der Webseite. Wenn ich die Webseite als Vorlage speichere, erwarte ich, dass alle Bestandteile der Seite in dieser Vorlage drin werden. U.a. die externe Liste und das BDC-Modell, relevantes externe System und relevante externe Typen...

Es wird jedoch nicht alles gemacht, was ich erwartet habe:-((

Beim Versuch, das Problem zu analysieren ist mir noch das Folgende aufgefallen: wenn ich versuche, nur die externe Liste als Vorlage zu speichern, wird es seitens SP2013 verweigert. In Log gibt es die folgende Ausnahme:


/_layouts/15/savetmpl.aspx, Error=Die Methode 'SaveAsTemplate' wird für 'Microsoft.SharePoint.SPList' für externe Listen nicht unterstützt.   
bei Microsoft.SharePoint.SPExternalList.ThrowNotSupportedExceptionForMethod(String sMethodName, Type typeThrowing)     
bei Microsoft.SharePoint.SPList.SaveAsTemplate(String strFileName, String strName, String strDescription, Boolean bSaveData)     
bei Microsoft.SharePoint.ApplicationPages.SaveAsTemplatePage.BtnSaveAsTemplate_Click(Object sender, EventArgs e)     
bei System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)     
bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean 
Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Sept. 2013 16:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Externe Listen werden in Vorlagen einfach nicht unterstützt. Das wirst Du so hinnehmen müssen.

Man kann sie aber per Code erzeugen, z.B. in FeatureActivated (wenn die Lösung über eigene Features verfügt, was aber meist der Fall ist).

Viele Grüße
Andi
af @ evocom de
Blog