Monatliche Archive: November 2007

MOSS erzählt mir meine Spaltenname ist reserviert oder In Gebrauch … Aber es ist nicht

UPDATE 12/04/07: Siehe Diese Microsoft-KB (http://support.microsoft.com/kb/923589) Weitere Informationen.

Tatsächlich, Es stellt sich heraus, es ist, aber tückisch MOSS musste erschweren.

Mein Kunde hat einige Entwicklungsarbeit auf seiner MOSS-Website über das Wochenende. Es ist ein bisschen ein Durcheinander, was er tatsächlich tat, aber das Ergebnis ist das:

  • Er versucht, eine Websitespalte namens "Menge hinzufügen" und MOSS-Antworten: "Der eingegebene Spaltenname wird bereits verwendet oder reservierte. Wählen Sie einen anderen Namen."
  • Er versucht, eine andere Umgebung und jene Werk hinzufügen. Daher, "Menge" ist kein reservierter..
  • Er versucht, eine vorhandene Websitespalte mit dem Namen "Menge zu finden" dieser Websitesammlung. Er kann es nicht finden.

Ich habe einige Forschung, und sogar einige Codierung, philosophische gewachst und schließlich festgestellt, dass eine Spalte namens Menge Tat, Tatsächlich, vorhanden sind. Es war in der "_Hidden" Gruppe. Daher, Wir konnten es nicht über die SharePoint-Benutzeroberfläche finden.

Wie kommt es dahin? Ich weiß nicht, aber ich habe eine Theorie (oder wie meine Frau es nennen würde, "blah blah blah"). Irgendwo entlang der Linie, eine fabelhafte vierzig Vorlage hinzugefügt und wahrscheinlich auf einer Website in der Websitesammlung aktiviert wurde. Es wurde dann deaktiviert (oder der Standort entfernt). Die Websitespalte, jedoch, blieb aber in der "_Hidden" Gruppe. Wenn jemand besser weiß, informieren Sie mich bitte über E-Mail oder per post in den Kommentaren.

SharePoint wurde die Wahrheit gesagt.. Es ist kaum zu bemerken, dass diese Nachricht ist nicht so hilfreich, wie es sein könnte. Es wäre schön, diese Nachricht-Gabel in zwei unterschiedliche Meldungen in die Zukunft sehen: 1) Sagen Sie, dass der Spaltenname reserviert ist oder nicht. 2) Wenn es nicht reserviert werden kann, Anzeigen der Website, oder zumindest die Gruppe, wo die Spaltenname bereits verwendet wird.

</Ende>

OM Daten über eine benutzerdefinierte Liste (oder, Noch ein weiterer OM Daten Anzeigenoder [wie YACC, aber unterschiedliche])

Heute, Ich verbrachte eine Handvoll Stunden die Ursache hinter der Meldung "der eingegebene Spaltenname wird bereits verwendet oder reservierte aufspüren. Wählen Sie einen anderen Namen."

Die betreffende Spalte erstellt werden konnte., gelöscht und neu erstellt, in einer anderen Umgebung, so dass ich, es wusste war kein reservierter.. Jedoch, Ich konnte einfach die Spalte überall über die Standardschnittstelle für SharePoint-Benutzer auf einer Website in der Websitesammlung nicht finden.

Ich hing auf MSDN-Foren hier und der unbeugsamen Andrew Woodward wies mich in die Richtung der zugrunde liegenden Objekt-Modell-Daten.

Ich ging nach CodePlex Einige Tools zu finden, die mir in den zugrunde liegenden Daten OM peer und hilf mir die Mühe zu finden helfen würde.

Ich habe versucht, verschiedene Tools und sie waren sehr cool und interessant, aber am Ende, die Benutzeroberfläche war nicht gut genug für meine Zwecke. Ich bin nicht kritisieren sie mit allen Mitteln, aber eindeutig die Werkzeugmacher nicht schwebt mein Problem Wenn sie ihre Benutzeroberfläche erstellt :). Die meisten Menschen scheinen eine ganze Menge Zeit und Mühe bei der Erstellung von Arbeitsstation zu investieren, werden / Clientanwendungen, die Strukturansichten bereitstellen, mit der rechten Maustaste Kontext-Menüs, usw.. Diese sind schön und alle, aber es ist eine Menge Arbeit, eine Top-of-the-Line-Benutzererfahrung zu erstellen, die auch sehr flexibel ist.

Ich brauchte wirklich eine Antwort auf dieses problem. Es fiel mir ein, dass wenn ich würde alle Websitespalten in der Websitesammlung in einer benutzerdefinierten Liste, Ich könnte Filtern, Sortieren und Erstellen von Ansichten, die mir diese angeblich vorhandenen Spalte finden helfen würde (Dies geschah, BTW). Ich ging voran und Tat, und ein oder zwei Stunden später, eine benutzerdefinierte Liste mit Gruppierung hatte alle meine Websitespalten geladen werden, Sortieren, usw.. Fünf Minuten später fand ich meine Antwort.

Wenn ich erfolgreich die Welt übernehmen, Ich denke, dass ich Dekret wird, dass alle SharePoint-Werkzeuge-Anbieter ernsthaft in Erwägung ziehen müssen ihre Objektdaten Modell in einer benutzerdefinierten Liste auftauchen. Auf diese Weise, Ich habe die Macht um eine Suche möchte ich weg (eingeschränkt, Natürlich, von standard-Sharepoint-features).

SharePoint Designer Workflows benutzerdefinierte Aktion — Beobachtung über <FieldBind Designer-Typ =”StringBuilder” … />

Nur eine schnelle Beobachtung, dass es ein sehr wichtiger Unterschied zwischen diesen zwei Definitionen ist:

<FieldBind Feld "InParam1 =" DesignerType = "StringBuilder" ID = "2" Text = "Input Parameter # 1" />

im Vergleich:

<FieldBind Feld "InParam1 =" ID = "2" Text = "Input Parameter # 1" />

Die erste zeigt, wie dies in der SPD:

Bild

während die letzteren zeigt wie folgt:

Bild

Ich bin nicht sicher, wie hilfreich diese Screenshots sind aber ich habe in der Anstrengung, sie zu machen, damit Sie sie sehen haben 🙂

Die Beobachtung ist dies: StringBuilder ermöglicht es Ihnen, eine Zeichenfolge erstellen (offensichtlich) durch das Mischen von Zeichenfolgenliteralen und Workflow-Daten (über die "hinzufügen Lookup" Schaltfläche in der linken unteren Ecke). Wenn Sie die Schaltfläche Hinzufügen Lookup verwenden, Es fügt ein Token in der Form"[%Token %]". Wenn SharePoint Ihre benutzerdefinierte Aktion aufruft, (C#-Code in meinem Fall), SharePoint übergibt das Token selbst, nicht der Wert des Tokens. Wenn Sie den Standard-Designer-Typ verwenden (der zweite Typ), SharePoint erweitert das Token und Istwert des Tokens an Ihrer Aktion.

StringBuilder = schlecht, Standard Designertyp = gut.

Natürlich, Das ist nicht das, was ich wirklich meine. Eben nicht versuchen und einen Parameter an Ihre benutzerdefinierte Aktion übergeben, wenn der Designer geben = StringBuilder. Verwenden Sie der Standardtyp Designer und Kette ein StringBuilder-Objekt darauf nach vorne, wenn Sie komplexe Zeichenfolgen in Ihrem Workflow erstellen müssen (Das ist übrigens genau das, was man tut, um einen dynamischen Betreff für die e-Mail-Aktion erstellen, aber das ist ein Thema für einen anderen Blogeintrag, Har har).

<Ende />

Vorzeitige Workflow-Aktivierung — Eine nicht-medizinische Lösung

UPDATE: Finden Sie in diesem MSDN-Diskussion, besonders der letzte Eintrag: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Es beschreibt eine Bedingung, die kurz das ganze Schaltung kann. Kurz gesagt, Es kann so einfach wie das Erstellen von mindestens eines der Felder obligatorisch sein.

Ich habe eine Dokumentbibliothek, die acht Inhaltstypen unterstützt.

Ich habe ein SharePoint Designer-Workflows, die will berechnen und "Erinnerungsdatum zuweisen" durch einfach subtrahieren 30 Tage aus einer anderen Spalte, "due Date". Dies sollte nur für eines der Inhaltstypen geschehen., "Versicherung". Geschäftsgegenstand ist einen KPI zu produzieren, die zwei Kategorien von Versicherungsformularen zeigt: "in Kürze ablaufen" und "abgelaufen." (Lesen Sie mehr über diese Art von KPI und weitere umfangreiche Detailinformationen Hier).

Ich habe den Workflow ausgelöst, wenn ein neues Element erstellt wird und wenn ein Element geändert wird konfiguriert. Die Idee ist, dass, wenn eine Versicherung Dokument hochgeladen wird, Wir berechnen eine Warnung Datum"" basierend auf das Ablaufdatum. Ein paar Ansichten arbeiten im Zusammenhang mit einer KPI-Liste, um diese Bedingungen zu markieren, wenn Benutzer ihre Homepage hit.

Diese Strategie funktioniert nicht, wenn ich ein Dokument hochladen.

Laden Sie das Dokument, und ich bin mit der Meta-Erfassungsbild legte. An diesem Punkt, Ich bin bereits in Schwierigkeiten. SharePoint hat bereits, vorzeitig aus meiner Sicht, ausgelöst wird den workflow. Ich hatte noch keine Gelegenheit, wählen Sie den richtigen Inhaltstyp noch weisen Sie ein Fälligkeitsdatum. Zur gleichen Zeit, der Workflow wird nicht ausgelöst, wenn ich auf "Senden" zu diesem Zeitpunkt. Es gibt einige integrierter Logik, die glaubt "" die zuerst vorzulegen ist Teil der "erstellen" Ereignis. Also … Mein Workflow ausgelöst hat und wann sie ausgeführt, Es wurde Standardwerte für Meta-Daten übergeben..

Die beste Problemumgehung kenne ich ist das eine "Pause bis zum Einfügen" Aktivität im workflow. Ich habe die Workflow-Pause für 1 Minute. Während es anhalten ist, Ich wähle den richtigen Inhaltstyp, die Meta-Daten eingeben und abschicken. Die Pause abgeschlossen ist und der Workflow wird fortgesetzt, nach Bedarf. (Beachten Sie, dass in meinem Umfeld, Zeitgeber-Workflow-Aktivitäten von SPD funktionieren nicht out of the box. Sie können die gleiche Schwierigkeiten haben.. Siehe Hier für weitere details).

Ich mag keine "magische Verzögerung" umgehen. Was passiert, wenn der Benutzer ein Dokument und das Telefon klingelt und das anschließende Gespräch hochlädt überdauert die pause? Ich kann die längere Pause machen., aber ich mag es immer noch nicht.

Ich schrieb über diese auf den MSDN-Foren hier: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

SharePoint Security Fundamentals Primer / Häufige Probleme vermeiden

UPDATE 12/18/07: Finden Sie Paul Liebrand Artikel für einige technischen Konsequenzen zu entfernen oder ändern die Standard-Gruppennamen (Siehe auch seinen Kommentar unten).

Übersicht:

SharePoint Security ist leicht zu konfigurieren und verwalten. Jedoch, Es erweist sich als schwierig für manche Administratoren erstmals wirklich ihre Hände um ihn herum umbrochen werden. Nicht nur das, Ich habe gesehen, dass einige Administratoren perfekt verstehen am Montag nur bis es von Freitag verloren haben, weil sie nicht haben in der Zwischenzeit keine Konfigurationseinstellungen vornehmen. (Ich gebe zu, habend dieses Tücke mich). Dieser Blog-Eintrag hoffentlich bietet eine nützliche SharePoint-Sicherheit-Grundierung und weist auf einige bewährte Sicherheitsmethoden für Konfiguration.

Wichtiger Hinweis:

Diese Beschreibung basiert auf SharePoint-Sicherheit nach dem Auspacken. Meine persönliche Erfahrung ist um MOSS orientiert, so dass es möglicherweise einige MOSS bestimmte Dinge hier, aber ich halte es für WSS genau. Ich hoffe, dass jemand sehen, Fehler oder Auslassungen, die in den Kommentaren darlegen wird oder mailen Sie mir. Ich mache Korrekturen hast post.

Grundlagen:

Für die Zwecke der in dieser Übersicht, Es gibt vier grundlegende Aspekte zur Sicherheit: Benutzer/Gruppen, sicherungsfähige Objekte, Berechtigungsstufen und Vererbung.

Benutzer und Gruppen nach unten zu brechen:

  • Einzelne Benutzer: Gezogen von active Directory oder direkt in SharePoint erstellten.
  • Gruppen: Zugeordneten direkt aus dem active Directory oder in erstellte SharePoint. Gruppen sind eine Sammlung von Benutzern. Gruppen sind global in einer Websitesammlung. Sie sind nie "gebunden" für ein bestimmtes sicherungsfähiges Objekt.

Sicherungsfähige Objekte mindestens bis zum brechen:

  • Standorte
  • Dokumentbibliotheken
  • Einzelne Elemente in Listen und Dokumentbibliotheken
  • Ordner
  • Verschiedene BDC-Einstellungen.

Es andere sicherungsfähige Objekte, aber Sie erhalten das Bild.

Berechtigungsstufen: Ein Bündel von körnigen / Low-Level-Zugriff-Rechte, die solche Dinge wie erstellen/Lesen/löschen Einträge in Listen enthalten.

Vererbung: Standardmäßig erben Entitäten Sicherheitseinstellungen von ihrem Objekt. Unterwebsites erben Berechtigung von ihrem übergeordneten. Dokumentbibliotheken erben ihrer Website. So weiter und so fort.

Benutzer und Gruppen beziehen sich auf sicherungsfähige Objekte über Berechtigungen und Vererbung.

Die wichtigsten Sicherheitsregeln zu verstehen, Immer 🙂 :

  1. Gruppen sind einfach Sammlungen von Benutzern.
  2. Gruppen sind global innerhalb einer Websitesammlung (dh. Es gibt keine solche Sache wie eine Gruppe auf einer Websiteebene der definiert).
  3. Gruppenname nicht widerstehen, Gruppen nicht, in und von sich selbst, haben Sie besonderen Maß an Sicherheit.
  4. Gruppen haben Sicherheit im Zusammenhang mit einem bestimmten sicherungsfähigen Objekt.
  5. Sie können unterschiedliche Berechtigungsstufen auf die gleiche Gruppe für jedes sicherungsfähige Objekt zuweisen..
  6. Webanwendungsrichtlinien trump all dies (siehe unten).

Sicherheitsadministratoren verloren in einem Meer von Gruppen- und Angebote können immer auf diese Axiome zu verwalten und zu verstehen ihre Sicherheitskonfiguration verlassen.

Häufige Probleme:

  • Gruppennamen implizieren fälschlicherweise Berechtigung: Out of the box, SharePoint definiert eine Reihe von Gruppen, deren Namen eine inhärente Sicherheitsstufe implizieren. Betrachten Sie die Gruppe "Contributor". Eine SharePoint-Sicherheit vertraut kann gut Schau dir diesen Namen und davon ausgehen, dass jedes Mitglied der Gruppe "beitragen können" zu jeder Seite/Liste/Bibliothek in das portal. Das mag wahr sein, aber nicht, weil der Name der Gruppe ist nun mal "Mitwirkender". Dies gilt nur, out of the Box, da die Gruppe eine Berechtigungsstufe bereitgestellt wurde, die sie hinzufügen/bearbeiten/löschen auf der Stammwebsite ermöglicht, Inhalt zu. Durch Vererbung, die Mitwirkenden"" Gruppe kann auch hinzufügen/bearbeiten/löschen Inhalt bei jedem Sub-Standort. Man kann "brechen" die Vererbungskette und Ändern der Berechtigungsstufe für eine Unterwebsite, dass Mitglieder der so genannten "Beitragszahler" Gruppe kann nicht auf allen beitragen., aber nur lesen (zum Beispiel). Das wäre keine gute Idee, offensichtlich, Da wäre es sehr verwirrend.
  • Gruppen sind nicht auf einer Websiteebene definiert.. Es ist leicht, von der Benutzeroberfläche zu verwechseln. Microsoft bietet einen praktischen Link zu Benutzer/Gruppe Management über jede Seite "Benutzer und Gruppen" Verbindung. Es ist leicht zu glauben, dass wenn ich Standort "Xyzzy am" und erstelle ich eine Gruppe durch Xyzzy des Menschen und Gruppen zu verknüpfen, die habe ich eine Gruppe, die nur existiert nur erstellt, um xyzzy. Das ist nicht der Fall. Ich habe tatsächlich eine Gruppe für die gesamte Websitesammlung erstellt..
  • Gruppen-Mitgliedschaft variiert nicht von Website (dh. Es ist das gleiche überall, wo die Gruppe verwendet wird): Betrachten Sie die Gruppe "Besitzer" und zwei Seiten, "HR" und "Logistik". Es wäre normal zu denken, dass zwei getrennte Individuen Netzwerktraffic besitzen würde — ein HR-Eigentümer und Besitzer einer Logistik. Die Benutzeroberfläche macht es einfach für dieses Szenario schlecht Sicherheitsadministrator. Wenn ich nicht besser wissen, Ich könnte die Menschen und Gruppen Links über die HR-Website zugreifen., Wählen Sie die "Besitzer" Gruppieren und meine HR-Besitzer dieser Gruppe hinzufügen. Einen Monat später, Logistik geht online. Ich habe Zugriff Menschen und Gruppen auf den Logistikstandort, Pull-up "Besitzer hinzufügen" Gruppe. Ich sehe den HR-Besitzer gibt und sie entfernen, denken, dass ich ihr von den Eigentümern des Logistik-Standorts entfernen bin. Tatsächlich, Ich bin ihr aus der globalen Gruppe Besitzer entfernen.. Heiterkeit entsteht.
  • Ausgefallene Namen Gruppen basierend auf spezifischen Rolle: Die genehmigenden"" Gruppe ist ein perfektes Beispiel. Was können Mitglieder dieser Gruppe genehmigen? Wo können sie es genehmigen? Will ich wirklich Menschen Logistikabteilung, HR-Dokumente genehmigen zu können? Natürlich nicht. Nennen Sie immer Gruppen basierend auf ihrer Rolle innerhalb der Organisation. Dies reduziert das Risiko, dass die Gruppe eine unangemessene Berechtigungsstufe für ein bestimmtes sicherungsfähiges Objekt zugewiesen ist. Name-Gruppen basierend auf ihre vorgesehene Funktion. Im vorherigen Szenario HR/Logistik, Ich sollte zwei neue Gruppen erstellt haben: "HR-Besitzer" und Logistik Inhaber"" und weisen sinnvolle Berechtigungsstufen für jeden und der Mindestbetrag erforderlich für jene Benutzer, ihre Arbeit zu tun.

Andere nützliche Verweise:

Wenn Sie es, das gemacht haben weit:

Lass es mich wissen, Ihre Gedanken über die Kommentare oder mailen Sie mir. Wenn Sie wissen, dass andere guten Referenzen, Bitte das gleiche tun!

Technorati Tags:

Schnell und einfach: Erstellen Sie eine Datenansicht-Webpart (DVWP)

Es gibt eine Fülle von großer Informationen auf der WSS 3.0 Datenansicht-Webpart (DVWP) aus verschiedenen Quellen im Web. Jedoch, Ich fand es überraschend schwierig, Informationen über diese erste sehr einfache Schritt zu finden sein. Hier ist ein weiterer Artikel in der "schnell und einfach" Serie an ihn richten.

Gehen Sie folgendermaßen vor um eine Datenansicht-Webpart zu erstellen (DVWP). Sie basieren auf einem "Ankündigungen" Webpart, aber für die meisten Listen.

  1. Erstellen Sie einen Webpart Ankündigungen und eine Website hinzufügen.
  2. Öffnen Sie die Website in SharePoint Designer.
  3. Öffnen Sie die Seite default.aspx.
  4. Wählen Sie das Webpart Ankündigungen und mit der rechten Maustaste.
  5. Aus dem Kontextmenü, Wählen Sie "Convert, XSLT Datenansicht".

SharePoint Designer benachrichtigt Sie, dass diese Website jetzt aus seiner Websitedefinition angepasst ist. Das ist nicht unbedingt schlecht, aber es gibt wichtige Implikationen (Leistung, Aktualisieren, andere) Das ist jenseits des Umfanges von dieser kleinen "Quick und Easy" Eintrag. Um weitere Informationen zu diesem Thema erhalten, Ich empfehle beide Bücher Hier sowie Ihre bevorzugten Internet-Suche.

Bestätigen Sie, dass Sie alles richtig gemacht haben:

  1. Schließen und erneut öffnen des Web-Browsers (um zu vermeiden, versehentlich re-Aufgabe der ursprünglichen "fügen Sie eines neues Webparts").
  2. Wählen Sie das Webpart Pfeil Dropdown-Listenfeld und wählen Sie "Freigegebenes Webpart" Menü.
  3. Die Tool-Leiste öffnet nach rechts.
  4. Das Panel wurde von seiner üblichen setzen-Optionen dazu geändert.:
Bild

“Die Liste Spalte Schemaeigenschaft kann nicht aus der SharePoint-Liste erhalten werden” — Beschreibung-Workarounds

Diese Woche, wir schließlich reproduziert ein Problem, das berichtet worden war von einem Remotebenutzer: Als sie versuchte, den Inhalt einer Liste nach excel exportieren, Dinge scheinen zu arbeiten, aber dann würde Excel eine Fehlermeldung pop: "Kann nicht die Liste Spalte Schemaeigenschaft aus der SharePoint-Liste erhalten". Sie war Office ausgeführt. 2003, Windows XP und Verbinden von MOSS.

Ich suchte den Internets und sah einige Spekulationen aber nichts 100% endgültigen. Daher, Dieser Beitrag.

Das problem: Exportieren einer Ansicht, die Excel enthält ein Datum (Datum = den Datentyp der Spalte).

Was für uns gearbeitet: Konvertieren Sie das Datum ein, eine "einzelne Textzeile". Dann, zurück in ein Datum konvertieren.

Das löste es. Es war schön zu sehen, dass die Konvertierung funktioniert, tatsächlich. Es war ziemlich nervös, dass konvertieren Dinge so ausfallen würde, aber es kam nicht.

Dieser Bug hat einen großen Schatten über den Date-Datentyp des Auftraggebers beachten geworfen., Also wir gehen darauf, eine definitive Antwort von Microsoft zu sein, und hoffentlich werde ich nach und update hier in den nächsten kurzer Zeit ihre offizielle Antwort und Hotfix-Informationen.

Andere Referenzen:

http://www.kevincornwell.com/blog/index.php/cannot-get-the-list-schema-column-property-from-the-sharepoint-list/

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2383611&SiteID=1

<Ende>

Onnieren Sie meinen Blog ab.

Technorati Tags: ,

Schnell und einfach: Senden Sie eine e-Mail mit eingebetteten Hyperlink von SharePoint Designer-Workflows

Einmal oder zweimal im Monat, jemand Beiträge eine Frage forum: "Wie ich Hyperlinks zu URLs, die von einer SharePoint Designer Email durch Klicken aktivierbaren sind enthalten?"

Ohne weiteren Kommentar dargestellt: (gut, eigentlich gibt es weiterer Kommentar nach dem Bild):

Bild

Becky Isserman folgt mit einer hilfreichen Erklärung eine Verknüpfung zu einem Element in der e-Mail einbetten: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

Neuerscheinung: SharePoint Designer-Workflow-Erweiterungen (Funktionen zur Zeichenfolgenbearbeitung)

UPDATE: Hier finden Sie meine Gedanken über die Kommerzialisierung dieses Projekts: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Ich habe anstrengenden Arbeitstag auf meine Codeplex-Projekt derzeit ist ausgerichtet auf die Zeichenfolge Manipulation Erweiterungen über SharePoint Designer erstellte workflows.

Details finden Sie hier:

Projekt home: http://www.codeplex.com/spdwfextensions

Veröffentlichung: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Version 1.0 enthält die folgenden neuen Funktionen:

Funktion Beschreibung (Wenn nicht identisch.NET-Funktion)
NUM-Einträge() Gibt die Anzahl "Einträge" in einem String nach einem angegebenen Trennzeichen.

Zum Beispiel: NUM-Einträge in einer Zeichenfolge "a,b,c" mit Trennzeichen"," = 3.

Eintrag() Gibt das n-ten Token in einem String nach einem angegebenen Trennzeichen.
Länge String.length
Ersetzen() String.Replace()
Enthält() String.Contains()
Gibt das Wort "wahr" oder das Wort "False".
Teilzeichenfolge(Start) String.Substring(Start)
Teilzeichenfolge(Start,Länge) String.Substring(Start,Länge)
ToUpper() String.ToUpper-Methode()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Gibt das Wort "wahr" oder das Wort "False".
EndsWith() String.EndsWith()
Gibt das Wort "wahr" oder das Wort "False".

Ein BDC-Laufzeitfehler erklärte

Ich verursachte einen BDC-Fehler diese Woche, die sich in der Benutzeroberfläche und in manifestiert der 12 Bienenkorb-Protokoll Laufzeit.

Erste, Dieses erschien in der Benutzeroberfläche:

Felder zum Einfügen aller Bezeichnerwerte zum ordnungsgemäßen Ausführen einer ' SpecificFinder ' MethodInstance mit Namen konnte nicht gefunden werden. … Sicherzustellen Sie, dass die Eingabeparameter TypeDescriptors jeder für diese Entität definierten Bezeichner zugeordnet haben.

Hier ist ein Screenshot:

clip_image001

Ich könnte auch dazu führen, diese Meldung angezeigt, in der 12 Bienenkorb Protokoll wird (mit Hilfe meiner patentierten high-tech-don't-try-this-at-home "geheimnisvolle Störungen" Methode):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server-Geschäftsdaten 6q4x hohe Ausnahme in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Den ID-Wert ”, Typ ”, ist ungültig. ID-Wert vom Typ 'System.String' erwartet. bei Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekt[] subIdentifierValues, LobSystemInstance lobSystemInstance) bei Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Einheit Einheit, Objekt[] userValues, LobSystemInstance lobSystemInstance) bei Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Ansicht desiredView) bei Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() bei Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Ich suchte und fand einige führt in die MSDN-forum, aber sie waren nicht genug für mich zu verstehen, was ich tat, falsch. Ich sah einen Webcast von Ted Pattison dass meine Firma hat entfernt auf einem Server und kam zu meinem Problem erkennen gespeichert..

In meinem ADF, Ich bin mit einer SQL-Datenbank verbinden, wie gezeigt:

            <Eigenschaft Name="RdbCommandText" Typ="System.String">
              <![CDATA[
                WÄHLEN SIE SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      LAND, ADRESSE1, ADRESSE2, ADDRESS3, ADDRESS4, STADT, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      GRAFSCHAFT, ZUSTAND, POSTAL, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, ERWEITERUNG, TELEFAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG aus dbo.PS_CARRIER_ID_VW mit (NOLOCK)
                WO
                  (SETID <> "AKTIE") und
                  (niedrigere(CARRIER_ID) >= untere(@MinId)) und
                  (niedrigere(CARRIER_ID) <= untere(@ MaxId)) und
                  (niedrigere(DESCR) WIE niedriger(@InputDescr))
                ]]>
            </Eigenschaft>

Ich wurde zur Verfügung gestellt, dass SQL DBA Person und ich bin da zu verstehen, dass es eine Spezial die sie nur für mich erstellt. Der eindeutige Schlüssel dort ist CARRIER_ID.

Hier ist der Fehler, den ich eingeführt:

      <Bezeichner>
        <Bezeichner Name="CARRIER_ID" TypeName="System.String" />
        <Bezeichner Name="DESCR" TypeName="System.String" /> 
</Bezeichner>

Irgendwo entlang der Linie, Ich hatte es geschafft, mich über die Bedeutung des verwechseln <Bezeichner> und DESCR hinzugefügt, auch wenn es nicht tatsächlich einen Bezeichner. Ich nahm DESCR aus dem Bezeichner Satz und presto! Das alles funktioniert.

Ich hoffe, das spart einige Trauer jemand 🙂

Technorati Tags: , , ,