maandelijkse archieven: November 2007

MOSS vertelt Me mijn kolomnaam is voorbehouden of In gebruik … Maar het is niet

UPDATE 12/04/07: Zie Deze Microsoft KB (http://support.microsoft.com/kb/923589) voor verwante informatie.

Eigenlijk, het blijkt dat het is, maar tricksy MOSS moest maken het moeilijk.

Mijn klant doet sommige ontwikkelingswerk op zijn site MOSS in het weekend. Het is een beetje een allegaartje dat wat hij eigenlijk deed, maar het eindresultaat is dit:

  • Hij probeert toe te voegen een sitekolom genaamd "hoeveelheid" en MOSS antwoorden: "De naam van de kolom die u hebt ingevoerd is al in gebruik of gereserveerde. Kies een andere naam."
  • Hij probeert toe te voegen aan een andere omgeving en welk werken. Daarom, "Hoeveelheid" is niet een gereserveerde naam.
  • Hij probeert te vinden van een bestaande sitekolom met de naam "hoeveelheid" in die siteverzameling. Hij kan het niet vinden.

Ik heb een aantal onderzoek, en zelfs sommige codering, geboend filosofische en ten slotte vond dat een kolom met de naam hoeveelheid deed, Eigenlijk, bestaan. Het was in de "_Verborgen" groep. Vandaar, We konden het niet vinden via de gebruikersinterface van SharePoint.

Hoe kreeg het er? Ik weet het niet, maar ik heb een theorie (of als mijn vrouw zou noemen het, "blah blah blah"). Ergens langs de lijn, een Fabulous veertig sjabloon werd toegevoegd en waarschijnlijk geactiveerd op een site in de siteverzameling. Het was dan gedeactiveerd (of de site verwijderd). De sitekolom, echter, maar in de '_Verborgen bleef" groep. Als iemand beter weet, laat het me weten via E-mail of post in de commentaren.

SharePoint vertelde de waarheid. Het is nauwelijks de moeite waard erop te wijzen dat die boodschap niet zo nuttig is als het zou kunnen zijn. Het zou leuk om te zien dat bericht vork in twee verschillende boodschappen in de toekomst: 1) Zeggen dat de naam van de kolom is gereserveerd of het is niet. 2) Als het niet gereserveerd, Toon de site, of op zijn minst de groep, waar de kolomnaam wordt al gebruikt.

</einde>

Huidige OM gegevens Via een aangepaste lijst (of, Nog een andere OM gegevens Displayor [Als YACC, maar verschillende])

Vandaag, Ik heb een handvol uur opsporen van de oorzaak achter het bericht "de naam van de kolom die u hebt ingevoerd is al in gebruik of voorbehouden. Kies een andere naam."

De kolom in kwestie kan worden gemaakt, verwijderd en opnieuw gemaakt in een andere omgeving, dus ik wist dat het niet een gereserveerde naam. Echter, Gewoon kon ik niet vinden de kolom overal via de standaard SharePoint-gebruikersinterface op elke site in de siteverzameling.

Ik gepost op MSDN forums hier en de ontembare Andrew Woodward wees me in de richting van het onderliggende object modelgegevens.

Ik ging naar codeplex om te zoeken naar enkele tools die me helpen te zou peer in de onderliggende OM gegevens en help me de moeite zoeken.

Ik probeerde verschillende tools en zij waren erg cool en interessant maar in het einde, de UI was goed genoeg voor mijn doel niet. Ik ben niet kritiseren van hen geenszins, maar duidelijk de hulpprogramma-makers niet heb mijn probleem in gedachten wanneer ze hun UI gemaakt :). De meeste mensen lijken te investeren een behoorlijke hoeveelheid tijd en inspanning in het creëren van werkstation / clienttoepassingen die bieden een boom uitzicht, Klik en ga zo maar door met de rechtermuisknop contextmenu 's. Deze zijn leuk en alle, maar wel een heleboel werk te maken van een top-of-the-line gebruikerservaring dat is ook zeer flexibel.

Ik echt nodig een oplossing voor dit probleem. Het kwam aan me dat als ik alle sitekolommen in de siteverzameling in een aangepaste lijst krijgen kon, Ik kan filteren, sorteren en weergaven maken die zou mij helpen vinden deze zogenaamd bestaande kolom (die het deed, BTW). Ik ging door en deed dat en een uur of twee later, had mijn sitekolommen geladen in een aangepaste lijst met grouping, sorteren enzovoort. Mij stichten mijn bescheid vijf minuten later.

Als en wanneer ik met succes over de hele wereld nemen, Ik denk dat ik zal decreet dat alle aanbieders van de hulpmiddelen van de SharePoint serieus moeten overwegen verhardingen hun modelgegevens object in een aangepaste lijst. Op die manier, Ik heb de macht Als u wilt zoeken een wil manier waarop ik (beperkt, Natuurlijk, door standaard sharepoint-functies).

SharePoint Designer Workflow aangepaste actie — Opmerking over <FieldBind Ontwerper Type =”StringBuilder” … />

Slechts een korte opmerking dat er een heel belangrijk verschil tussen deze twee definities is:

<FieldBind veld "InParam1 =" DesignerType = "StringBuilder" ID = "2" Tekst = "Input parameter # 1" />

versus:

<FieldBind veld "InParam1 =" ID = "2" Tekst = "Input parameter # 1" />

De eerste shows zoals dit in het EPD:

afbeelding

terwijl de laatste shows zoals dit:

afbeelding

Ik ben niet zeker hoe nuttig deze screen shots zijn maar ik zet in de inspanning om ze te maken, dus je moet om ze te bekijken 🙂

De observatie is dit: StringBuilder kunt u een tekenreeks bouwen (Uiteraard) door het mengen samen letterlijke tekenreeksen en workflowgegevens (via de "Add Lookup" knop in de linkerbenedenhoek). Wanneer u de knop Opzoeken toevoegen gebruiken, het voegt een token in de vorm"[%token %]". Wanneer SharePoint roept uw aangepaste actie, (C#-code in mijn geval), SharePoint passeert het token zelf, niet de waarde van het token. Als u het standaardtype ontwerper (het tweede type), SharePoint breidt het token en werkelijke waarde van het token worden doorgegeven aan uw actie.

StringBuilder = slecht, standaard ontwerper type = goed.

Natuurlijk, dat is niet wat ik werkelijk bedoel. Gewoon niet proberen en een parameter doorgeven aan uw aangepaste actie wanneer de ontwerper typt = StringBuilder. De ontwerper standaardtype en de keten een StringBuilder ernaar vooraan gebruiken als u nodig hebt om te bouwen van complexe tekenreeksen in uw workflow (dat is overigens precies wat men doet voor het maken van een dynamische onderwerp voor de actie e-mail, maar dat is een onderwerp voor een andere blog entry, Har-har).

<einde />

Voortijdige Workflow activeren — Een niet-medische oplossing

UPDATE: Zie dit MSDN-discussie, vooral de laatste post: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Het beschrijft een aandoening die kan kort dit hele ding circuit. In het kort, het kan zijn zo eenvoudig als het maken van ten minste één van de velden verplicht.

Ik heb een documentbibliotheek die acht inhoudstypen ondersteunt.

Ik heb een SharePoint Designer workflow die wil om te berekenen en een "herinneringsdatum toewijzen" door gewoon af te trekken 30 dagen van een andere kolom, "vervaldatum". Dit moet alleen gebeuren voor een van de typen inhoud, 'Insurance'. De business-doelstelling is het produceren van een KPI waarin twee soorten autoverzekeringsdocumenten: "zowat voor vervallen" en 'verlopen." (U kunt lees meer over dit soort KPI en meer substantiële drill-down Hier).

Ik hebt geconfigureerd de werkstroom gestart wanneer een nieuw item is gemaakt en wanneer een item wordt gewijzigd. Het idee is dat als er een verzekering document wordt geüpload, Wij berekenen een "waarschuwing datum" op basis van de vervaldatum. Een paar van weergaven werken in verband met een KPI-lijst Markeer deze voorwaarden wanneer gebruikers hun home page hit.

Deze strategie werkt niet wanneer ik een document uploaden.

Ik upload het document en ik ben voorgesteld met de invoerscherm van de meta-gegevens. Op dit punt, Ik ben al in de problemen. SharePoint reeds, voortijdig vanuit mijn perspectief, ontslagen van de werkstroom. Ik heb niet had een kans om te kiezen van het juiste type inhoud noch een vervaldatum toewijzen. Op hetzelfde moment, de werkstroom wordt niet geactiveerd wanneer ik klik op de verzendknop op dit moment. Er is sommige ingebouwde logica "is van mening dat" die dienen eerst maakt deel uit van de "maken" gebeurtenis. Dus … mijn workflow is gestart en wanneer het uitgevoerd, het werd aangenomen standaard meta gegevenswaarden.

De beste werk-around die ik ken is het invoegen van een "pauze tot" activiteit in de workflow. Ik heb de workflow onderbreken voor 1 minuut. Terwijl het wordt onderbroken, Ik selecteer het juiste type inhoud, de meta-gegevens invoeren en verzenden. De pauze is voltooid en de werkstroom verloopt zo nodig. (Merk op dat in mijn omgeving, timer workflowactiviteiten uit SPD werken niet uit de doos. Moet u wellicht het zelfde probleem. Zie Hier voor meer details).

Ik houd niet van "magische vertraging" werk-around. Wat gebeurt er als de gebruiker een document en de telefoon overgaat en de daaruit voortvloeiende gesprek uploadt outlasts de pauze? Ik kan de pauze langer maken, maar ik nog steeds niet leuk.

Ik schreef over dit op de MSDN forums hier: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

SharePoint Security Fundamentals Primer / Gemeenschappelijke valkuilen te vermijden

UPDATE 12/18/07: Zie Paul Liebrand van artikel voor sommige technische gevolgen van het verwijderen of veranderen van de standaard groepsnamen (Zie hieronder zijn commentaar zo goed).

Overzicht:

SharePoint veiligheid is eenvoudig te configureren en beheren. Echter, het heeft bewezen te zijn moeilijk voor sommige beheerders eerst echt hun handen eromheen laten teruglopen. Niet alleen dat, Ik heb sommige beheerders komen tot een perfect begrip op maandag alleen te hebben verloren door vrijdag, omdat ze niet hoefde te doen elke configuratie in de tussenliggende tijd. (Ik geef toe aan het hebben van dit probleem zelf). Deze blog entry hopelijk biedt een nuttig SharePoint veiligheid primer en verwijst naar sommige beveiliging configureren-aanbevolen procedures.

Belangrijke opmerking:

Deze beschrijving is gebaseerd op uit de doos SharePoint veiligheid. Mijn persoonlijke ervaring is gericht rond MOSS zodat er enkele MOSS specifieke dingen hier wellicht, maar ik denk dat het juist voor WSS. Ik hoop dat iedereen zien eventuele fouten of omissies die zal erop wijzen in commentaren of e-mail me. Ik maak correcties post haast.

Grondbeginselen:

Voor de toepassing van dit overzicht, Er zijn vier fundamentele aspecten voor de veiligheid: gebruikers/groepen, beveiligbare objecten, machtigingsniveaus en overerving.

Gebruikers en groepen breken neer:

  • Individuele gebruikers: Getrokken uit active directory of gemaakt direct in SharePoint.
  • Groepen: Toegewezen rechtstreeks uit active directory of gemaakt in SharePoint. Groepen zijn een verzameling van gebruikers. Groepen zijn globaal in een siteverzameling. Ze zijn nooit "gebonden" voor een bepaald beveiligbaar object.

Beveiligbare objecten breken neer aan ten minste:

  • Sites
  • Documentbibliotheken
  • Afzonderlijke items in lijsten en documentbibliotheken
  • Mappen
  • Verschillende BDC instellingen.

Er andere beveiligbare objecten, maar je krijgt het beeld.

Machtigingsniveaus: Een bundel van granulaire / lage niveau toegangsrechten die zaken als maken/lezen/verwijderen items in lijsten behoren.

Overname: Standaard overnemen entiteiten beveiligingsinstellingen van hun waarin het andere object. Subsites overnemen machtigingen van hun bovenliggende. Documentbibliotheken overnemen van hun site. Enzovoort enzovoort.

Gebruikers en groepen hebben betrekking op beveiligbare objecten via machtigingsniveaus en overerving.

De belangrijkste veiligheidsvoorschriften te begrijpen, Ever 🙂 :

  1. Groepen zijn gewoon verzamelingen van gebruikers.
  2. Groepen zijn globale binnen een siteverzameling (dwz. Er is niet zoiets als een groep die wordt gedefinieerd op het niveau van een site).
  3. Groepsnaam niet weerstaan, groepen niet, in en van zichzelf, hebben een bepaald niveau van beveiliging.
  4. Groepen hebben veiligheid in het kader van een bepaald beveiligbaar object.
  5. U kunt verschillende machtigingsniveaus toewijzen aan de dezelfde groep voor elk beveiligbare object.
  6. Web toepassingenbeleid troef dit alles (Zie hieronder).

Beveiligingsbeheerders verloren in een zee van groeps- en aanbiedingen kunnen altijd rekenen op deze axioma's te beheren en te begrijpen hun Beveiligingsconfiguratie.

Gemeenschappelijke valkuilen:

  • Groepsnamen impliceren ten onrechte toestemming: Out of the box, SharePoint definieert een set van groepen waarvan de namen een inherente beveiligingsniveau impliceren. Beschouwen de groep 'Contributor'. Een onbekend met SharePoint beveiliging kan goed kijken naar die naam en ga ervan uit dat elk lid van die groep kan "bijdragen" op elke site/lijst/bibliotheek in het portaal. Dat mag waar zijn, maar niet omdat de naam van de groep gebeurt te zijn 'contributor'. Dit is alleen waar out of the box, omdat de Fractie heeft gekregen een machtigingsniveau dat hen in staat te toevoegen/bewerken/verwijderen inhoud op de hoofdsite stelt. Via overname, de 'contributies" groep kan ook toevoegen/bewerken/verwijderen inhoud op elke sub site. Een kunt "break" de overervingsketen en wijzig het machtigingsniveau van een dergelijke sub-site dat leden van de zogenaamde 'Contributor" groep niet kan helemaal dragen, maar alleen lezen (bijvoorbeeld). Dit zou niet een goed idee, Uiteraard, omdat het zou erg verwarrend.
  • Groepen worden niet gedefinieerd op het niveau van een site. Het is gemakkelijk om worden verward door de user interface. Microsoft biedt een handige koppeling naar gebruiker/groep beheer via elke site "mensen en groepen" koppeling. Het is gemakkelijk om te geloven dat als ik op de site "xyzzy" en ik maak een groep door xyzzy van mensen en groepen koppelen die ik heb zojuist een groep die alleen bestaat bij xyzzy. Dat is niet het geval. Ik heb eigenlijk gemaakt een groep voor de hele siteverzameling.
  • Lidmaatschap van groepen verandert niet door site (dwz. het is hetzelfde overal die de groep wordt gebruikt): Beschouwen de groep "eigenaar" en twee sites, "HR" en "Logistics". Het zou normaal te denken dat twee afzonderlijke individuen die sites zou zelf — de eigenaar van een HR en een logistiek. De user interface maakt het gemakkelijk voor een beveiligingsbeheerder behandel dit scenario. Als ik niet beter wist, Ik kan toegang tot de personen en groepen links via de HR-site, Selecteer de "eigenaars" groep en mijn HR-eigenaar aan die groep toevoegen. Een maand later, Logistiek komt op regel. Ik heb toegang tot personen en groepen van de logistieke site, trekken van de "eigenaars toevoegen" groep. Ik zie er de HR-eigenaar en haar verwijderen, denken dat ik ben haar het verwijderen van eigenaars op de logistieke site. Eigenlijk, Ik ben het verwijderen van haar uit de globale groep eigenaren. Hilariteit ontstaat.
  • Bij gebreke aan naam groepen op basis van specifieke rol: De fiatteurs"" groep is een perfect voorbeeld. Wat kunnen leden van deze groep goedkeuren? Waar kunnen ze het goedkeuren? Wil ik echt mensen logistieke afdeling voor zitten kundig voor HR documenten goedkeuren? Natuurlijk niet. Altijd naam groepen op basis van hun rol binnen de organisatie. Dit zal verminderen het risico dat de groep een ongepaste machtigingsniveau voor een bepaald beveiligbaar object is toegewezen. Naam groepen op basis van hun beoogde rol. In het vorige scenario van de HR/logistiek, Ik heb twee nieuwe groepen: "HR eigenaren" en logistiek eigenaren"" en verstandige machtigingsniveaus voor elk en het minimale bedrag dat vereist is voor gebruikers om hun werk te doen toewijzen.

Andere nuttige verwijzingen:

Als je dit hebt gemaakt veel:

Gelieve te laten me weten wat uw gedachten via de opmerkingen of e-mail me. Als u weet van andere goede referenties, Doe hetzelfde!

Technorati Tags:

Snel en eenvoudig: Maken van een webonderdeel voor gegevensweergave (DVWP)

Er is een schat aan grote informatie over de WSS 3.0 Webonderdeel Gegevensweergave (DVWP) op het web uit verschillende bronnen. Echter, Ik vond het verrassend moeilijk te vinden informatie over deze eerste zeer fundamentele stap. Hier is een ander artikel in het "snel en gemakkelijk" serie te pakken.

Volg deze stappen om het maken van een webonderdeel voor gegevensweergave (DVWP). Ze zijn gebaseerd op een "aankondigingen" webonderdeel, maar van toepassing op de meeste lijsten.

  1. Een webonderdeel aankondigingen maken en toevoegen aan een site.
  2. De site openen in SharePoint Designer.
  3. Openen van de site, default.aspx.
  4. Selecteer het webdeel Aankondigingen en met de rechtermuisknop op.
  5. In het contextmenu, Selecteer 'converteren naar XSLT gegevensweergave".

SharePoint Designer waarschuwt u dat deze site nu van de sitedefinitie is aangepast. Dat is niet noodzakelijk slecht, maar er zijn belangrijke implicaties (prestaties, upgrade, anderen) die vallen buiten het bestek van deze kleine "snel en gemakkelijk" post. Voor meer informatie over dit onderwerp, Ik beveel beide boeken Hier evenals uw favoriete Internet-zoekopdracht.

Bevestigen dat u het goed hebt gedaan:

  1. Sluit en heropen de webbrowser (om te voorkomen dat per ongeluk verplaatsing de oorspronkelijke "add een nieuw webonderdeel").
  2. Selecteer het webonderdeel pijl drop-down en kies "gedeeld webonderdeel wijzigen" in het menu.
  3. Het hulpprogramma deelvenster wordt geopend aan de rechterkant.
  4. Het deelvenster veranderd van haar gebruikelijke opties instellen om dit te:
afbeelding

“De lijst schema-eigenschap column niet kunt krijgen uit de SharePoint-lijst” — Beschrijving/work-arounds

Deze week, wij eindelijk een probleem die had gemeld gereproduceerd door een externe gebruiker: Toen ze probeerde om de inhoud van een lijst naar excel exporteren, dingen zou lijken aan de slag, slechts vervolgens Excel zou knal opwaarts een fout: "Kan niet ontvang de kolomeigenschap lijst schema van de SharePoint-lijst". Ze liep office 2003, Windows XP en verbinding maken met MOSS.

Ik zocht de Internets en zag wat speculatie maar niets 100% definitieve. Vandaar, Dit bericht.

Het probleem: Exporteren van excel dat een weergave bevat een datum (datum = het gegevenstype van de kolom).

Wat voor ons werkte: De datum voor een "single line van tekst" converteren. Vervolgens, Converteer het terug naar een datum.

Dat het opgelost. Het was leuk om te zien dat de conversie werkte, eigenlijk. Het was heel zenuwachtig dat converteren dingen op deze manier zou mislukken, maar het kwam niet.

Deze bug heeft een enorme schaduw geworpen over het gegevenstype datum in de geest van de klant, dus we gaan worden op zoek naar een definitief antwoord van Microsoft en hopelijk zal ik post en werken hier in de volgende korte periode van tijd met hun officiële antwoord en hotfix informatie.

Andere verwijzingen:

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

<einde>

Abonneren op mijn blog.

Technorati Tags: ,

Snelle en eenvoudige: Stuur een e-mail met ingesloten hyperlink uit SharePoint Designer workflow

Maand of twee keer, iemand post een forum vraag: "Hoe kan ik opnemen hyperlinks naar URL's die aanklikbaar van een e-mail SharePoint Designer zijn?"

Gepresenteerd zonder verder commentaar: (goed, eigenlijk is er nog een opmerking na de afbeelding):

afbeelding

Becky Isserman volgt met een nuttige uitleg over het insluiten van een koppeling naar een item in de e-mail: 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

Nieuwe release: SharePoint Designer Workflow extensies (manipulatie tekenreeksfuncties)

UPDATE: Zie hier voor mijn gedachten over dit project commercialiseren: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Ik ben al bezig mijn Codeplex project dat momenteel is gericht op het bieden van string manipulatie uitbreidingen voor werkstromen die zijn gemaakt via SharePoint Designer.

Zie hier voor details:

Introductiepagina van project: http://www.codeplex.com/spdwfextensions

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

Versie 1.0 bevat de volgende nieuwe functies:

Functie Beschrijving (Als niet hetzelfde als.Netto functie)
Num-entries() Deze eigenschap retourneert het nummer "entries" in een string volgens een opgegeven scheidingsteken.

Bijvoorbeeld: Num-posten in een tekenreeks "een,b,c" met scheidingsteken"," = 3.

Post() Het nde token terugstuurt in een tekenreeks volgens een opgegeven scheidingsteken.
Lengte String.length
Vervangen() String.Replace()
Bevat() String.contains()
Deze eigenschap retourneert het woord "waar" of het woord "onwaar".
Subtekenreeks(Start) String.substring(Start)
Subtekenreeks(Start,lengte) String.substring(Start,lengte)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Deze eigenschap retourneert het woord "waar" of het woord "onwaar".
EndsWith() String.EndsWith()
Deze eigenschap retourneert het woord "waar" of het woord "onwaar".

Een runtime-fout BDC uitgelegd

Ik veroorzaakt een BDC fout deze week die manifesteerde zich al op de user interface en in de 12 component log tijdens runtime.

Eerste, Dit bleek in de gebruikersinterface:

Konden niet vondst velden om in te voegen van alle de id-waarden voor het correct uitvoeren van een SpecificFinder MethodInstance met de naam … Zorgen voor dat invoerparameters hebben TypeDescriptors die is gekoppeld aan elke id gedefinieerd voor deze entiteit.

Hier is een screenshot:

clip_image001

Ik kan ook dit bericht moet worden weergegeven de 12 component logboek tijdens zal (met behulp van mijn gepatenteerde high-tech-don't-try-this-at-home "mysterieuze fouten" methode):

11/14/2007 09:24:41.27 W3wp.exe (0x080C) 0Hoge uitzondering van SharePoint Portal Server zakelijke gegevens van x0B8C 6q4x in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: De id-waarde ”, van Type ”, is ongeldig. Verwachte id-waarde van het Type 'System.String'. op Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Object[] subIdentifierValues, LobSystemInstance lobSystemInstance) op Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entiteit entiteit, Object[] userValues, LobSystemInstance lobSystemInstance) op Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Weergave desiredView) op Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() op Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Ik zocht rond en vond enkele leidt in de MSDN forum, maar zij waren niet genoeg voor mij om te begrijpen wat ik aan het doen was verkeerd. Ik zag een webcast door Ted Pattison dat mijn bedrijf zit probeert te sluizen weg op een server en kwam om te beseffen mijn probleem.

In mijn ADF, Ik ben verbinden met een SQL-database zoals:

            <Eigenschap Naam="RdbCommandText" Type="System.String">
              <![CDATA[
                SELECTEER SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      LAND, ADRES1, ADRES2, ADDRESS3, ADDRESS4, STAD, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COUNTY, STAAT, POST, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFOON, UITBREIDING, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG van dbo.PS_CARRIER_ID_VW met (NOLOCK)
                WAAR
                  (SETID <> 'DELEN') en
                  (lagere(CARRIER_ID) >= lager(@MinId)) en
                  (lagere(CARRIER_ID) <= lager(@MaxId)) en
                  (lagere(DESCR) ALS lagere(@InputDescr))
                ]]>
            </Eigenschap>

Ik werd verstrekt dat SQL van een DBA persoon en ik ben gegeven om te begrijpen dat er een speciale weergave die ze alleen voor mij gemaakt. De unieke sleutel er is CARRIER_ID.

Hier is de bug die ik heb ingevoerd:

      <Id 's>
        <Id Naam="CARRIER_ID" TypeName="System.String" />
        <Id Naam="DESCR" TypeName="System.String" /> 
</Id 's>

Ergens langs de lijn, Ik had in geslaagd om mezelf te verwarren over de betekenis van <Id 's> en DESCR toegevoegd, zelfs al is het niet daadwerkelijk een id. Ik nam DESCR uit de id's set en presto! Het allemaal werkte.

I hope this saves someone some grief 🙂

Technorati Tags: , , ,