Månadsarkiv: Januari 2008

Lösning till BDC-ADF Import misslyckande: “Följande fel uppstod:”

Jag återigen crafting BDC ADF filer för hand (så att jag kan bygga upp min "få bort min gräsmatta!" cred) och träffa detta härliga fel:

bild

"Importen av programdefinitionen misslyckades. Följande fel uppstod:"

Som ni kan se, Det finns ett fel, Men … Det kommer inte att berätta för mig vad det är.

I mitt fall, problemet visade sig att jag hade började med en funktionell ADF för ett annat projekt som är ansluten till en databas och körs en SQL-fråga mot en vy. I detta nya projekt, Jag ringer en metod på en webbtjänst. Jag hade strippad ut DB specifika saker och La min web service grejer, men det gick inte att uppdatera den <LobSystem>'s type-attribut. Jag bytte det till "WebService" och jag glatt vidare till nyare och mer spännande importfel, som har hanterats i sinom.

Här är fel LobSystem:

<LobSystem
xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation =http://schemas.microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Typ = "databas"
Version = "1.0.0.0" Namn = "xyzzy"
xmlns ="
http://schemas.microsoft.com/Office/2006/03/BusinessDataCatalog">

Detta är korrekt:

<LobSystem
xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation =http://schemas.microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Typ = "WebService"
Version = "1.0.0.0" Namn = "xyzzy"
xmlns ="
http://schemas.microsoft.com/Office/2006/03/BusinessDataCatalog">

</slutet>

Technorati Tags:

BDC verkar en livskraftig ersättning för sökningar

UPPDATERING: MSDN bokföringen har några intressanta iakttagelser från JXJ baserat på hans, främst negativa, erfarenheter som går denna väg: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

Vi har en affärsscenario där vi måste koppla två dokument bibliotek via en gemensam "dokument-ID" fältet.

Vi använder ofta en uppslagskolumn till redskap länkar som denna. Det finns flera nackdelar till uppslagskolumner, tre är:

  1. Endast en kolumn från lookup sökning biblioteket kan kopplas.
  2. Prestanda: Källbiblioteket kan innehålla hundratals poster. Det är för många poster i uppslaget.
  3. Sök: Det finns ingen integrerad sökning. Jag menar inte i MOSS avkänningen av Sök, men det finns inget sätt att söka / filter på flera kolumner från källdokumentbiblioteket och leta reda på länken som du vill.

Backas upp av BDC, Vi kan använda en "business data" Kolumntyp och det ger en överlägsen sökning och tillåter även flera kolumner med data ska visas i listvyer.

Jag har haft några inledande framgångar med denna strategi och planerar att skriva mer om det.

Om du har arbetat denna vinkel innan och har några synpunkter, Vänligen dela!

</slutet>

Technorati Tags:

Lösning till BDC importfel: “Kunde inte läsa in typen som beskrivs av TypeName för TypeDescriptor …”

Jag har jobbat med BDC idag, Coding ADM-filer för hand och generera mig några fel. Ett sådant fel:

Importen av programdefinitionen misslyckades. Följande fel uppstod: Kunde inte läsa in typen som beskrivs av TypeName för TypeDescriptor. Parameternamnet: typeName fel påträffades vid eller strax före raden: ' 35’ och Position: "20".

MOSS visas detta felmeddelande när jag försökte importera filen ADF XML.

Jag undersökt Internets och fann att jag var referenser förekomstnamnet LOB (från den <LobSystemInstance>) i min <TypeDescriptor> nod när jag ska ha refererade LOB namnet i sig (från <LobSystem>).

Fel:

<TypeDescriptor TypeName="Conchango.KeyValue, LOB förekomstnamn" Namn = "KeyValue">

Korrigera:

<TypeDescriptor TypeName="Conchango.KeyValue, LOB namn" Namn = "KeyValue">

Hoppas detta sparar någon timme eller två av tid.

</slutet>

Prenumerera på min blogg!

Technorati Tags:

Lösning på Problem: “FileNotFoundException” Med min funktionsmottagaren.

Jag arbetade på en funktion förra veckan som skulle lägga till vissa evenemang mottagare till en specifik lista förekomst. (Jag bloggade lite om att listan mottagare här).

Med hjälp av kommandoraden, Jag kunde installera funktionen utan fel (men se nedan för dolda fel). När jag försökte använda funktionen på webbplatsen, MOSS klagade över en "FileNotFoundException" fel. Denna bloggpost beskriver hur jag löste det.

Detta är felet som MOSS visade mig i webbläsaren:

Funktionen ' b2cb42e3-4f0a-4380-Maria-1ef9cd526f20’ kunde inte installeras eftersom inläsningen av sammansättningen "xyzzyFeatureReceiver_0" misslyckades: System.IO.FileNotFoundException: Kunde inte läsa in filen eller sammansättningen ' xyzzyFeatureReceiver_0’ eller en av dess beroenden. Systemet kan inte hitta filen.
Filnamn: "xyzzyFeatureReceiver_0’
på System.Reflection.Assembly.nLoad(AssemblyName filnamn, Sträng kodbasen, Bevis assemblySecurity, Församlingen locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
på System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Bevis assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
på System.Reflection.Assembly.InternalLoad(Sträng assemblyString, Bevis assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
på System.Reflection.Assembly.Load(Sträng assemblyString)
på Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
VARN: Församlingen bindande loggningen är aktiverad OFF.
Du aktiverar montering bind fel loggning, Ange registervärdet [HKLMSoftwareMicrosoftFusion]!EnableLog] (DWORD) till 1.
Anmärkning: Det finns vissa prestanda straff är associerad med församlingen bind fel loggning.
Inaktivera den här funktionen, ta bort registervärdet [HKLMSoftwareMicrosoftFusion]!EnableLog].

Felsöka problem med Windows SharePoint Services.

Jag vet hur man medvetet orsaka detta fel: Installera inte sammansättningen i GAC. Men, Det var i den globala Sammansättningscachen. Jag installera normalt sammansättningar i den globala Sammansättningscachen genom att dra dem till c:\windowsassembly-mappen med Utforskaren. Jag har aldrig känt 100% bekväm att göra det eftersom jag alltid trott att gacutil fanns en anledning … så jag försökte att. Det gjorde ingen skillnad.

Jag sökte på Internet och hittade detta inlägg: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Affischen råkade använda den samma rot bit kod (från inuti WSS bok från denna lista) så det var ett hoppfullt tecken. Men, förslaget att dekorera församlingen med en [församling: ] direktivet vettigt inte för mig. Jag försökte det ändå och jag hade rätt. Det gjorde ingen skillnad.

Sedan märkte jag att min klassdefinition inte var offentlig. Jag gjorde det offentliga och det gjorde ingen skillnad.

Nästa, Jag gick till problem med att aktivera "församlingen bind misslyckande loggen" (efter användbara och korrekta instruktioner) och det är där saker och ting började bli intressant. Loggen visar mig att körningsmiljön söker överallt på servern för min församling. Det verkar även vara söka efter det i min medicinskåpet. Men … Det kommer inte att söka efter den i den globala Sammansättningscachen.

Jag satte på min vinterjacka och gå söka Internetsen igen och hitta att någon har haft detta problem också. Den långa diskussionen i denna bokföring Petrus bort till ingenting och jag kan inte hitta en lösning.

Jag flyttar min församling till en av de platser loggen hävdar det söker och jag göra lite mer framsteg. Jag är belönade med en nya fel i webbläsaren när jag försöker aktivera funktionen:

Det gick inte att skapa funktionen mottagare objekt från församlingen "xyzzyFeatureReceiver_0", typ "Conchango.xyzzyFeatureReceiver" för funktionen b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Värdet får inte vara null.
Parameternamnet: typ
på System.Activator.CreateInstance(Typ typ, Booleska nonPublic)
på System.Activator.CreateInstance(Typ typ)
på Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Felsöka problem med Windows SharePoint Services.

Dags för en sista resa till Internets!

Denna gång jag reda, förutsägbart nog, att mossa frågor detta fel eftersom församlingen inte i GAC.

Jag vill få något positivt ur detta och försök att känna sig lite stolt att jag har skapat den Flyktiga MSIL församlingar, men det fungerar inte. Jag är helt enkelt irriterad. Jag finner mig själv muttrade "hönan eller ägget" under min andedräkt.

Jag slutligen besluta att punt. Jag skapar ett helt nytt projekt och klistra in koden från incredible-cloaked-from-the-GAC-assembly icke-arbetande projektet över till detta nya projekt. (Jag söker efter en bygga flagga kallas något i stil med "Dölj från församlingen bindande om installerat i GAC" men kan inte hitta en).

Jag installera funktionen och aktivera den och … det fungerar! Så, efter allt som, Jag var tvungen att i princip "pånyttfödd’ mitt projekt. Det är en anledning varför jag hatar datorer.

Jag lärde mig något nyttigt från detta. Jag hade installerat funktioner använder stsadm befalla lina hela dagen lång och använt den "-kraft" alternativet av gammal vana. Av någon anledning, Jag inte använder alternativet - force när jag installerade det nya projektet. Den här gången, Jag gjorde faktiskt, verkligen glömma att kopiera detta nya projekt sammansättningen i GAC. Som en följd, Jag fick det "FielNotFoundException" fel. Den här gången, Jag fick den från stsadm, inte när jag försökte aktivera funktionen via webbläsaren. Så, -Force faktiskt spelar två roller. Du kan installera en befintlig funktion. Du installerar en buggy funktion som inte kan arbeta vid körning genom att undertrycka felet kan också. Står förmodligen det lika mycket som hjälp någonstans men jag märkt aldrig det.

</slutet>

Söndag Funny: Topp 10 Sätt att irritera dina hustru

  1. Köpa broccoli när du vet att det finns redan mer än tillräckligt i kylen.
  2. Gå för en körning. Svalka dig. Ta av ren örngott och ersätta med T-shirt. Täck med ren örngott.
  3. När du kör, fråga om vi ska gå åt fel håll på en enkelriktad gata.
  4. För 15 år, varje söndag att du hustru tyder på att ett museum, uttrycka förvåning att museer är öppna på söndag.
  5. För 15 år, ibland föreslå kommer att lokala bokhandeln på söndag. Uttrycka förvåning att de inte är öppen på söndag (Tack så mycket Blå lagar!).
  6. Användning 20 poäng att göra en 3 Peka tur.
  7. På en cool tidig höst eftermiddag, gå in i rummet och slå på a/c. Klaga att det är kallt. När fru säger, "varför du slå sedan som på, dumt" och får upp att stänga av, ta den varm plats hon hade på soffan. Bonuspoäng om hon inte inser du gjorde det förrän långt senare.
  8. Öppna en burk läckra vita långfenad tonfisk och äta den direkt från kan, i sängen, På natten.
  9. Gå in i köket medan hustru äter middag, öppna upp bestick lådan och tryck redskap tills fru skriker, "vad är du ute efter!"
  10. Vid mottagandet av nya visitkort, i hemlighet placera dem runt huset: Under sängen, i örngott, inuti kaffekoppar, i hennes handväska, i pälsen fickor, bil handske fack, skafferiet — var som helst kan du tänka dig.
  11. Skriva blogginlägg om din fru.
  12. Vakna.
  13. När man går på gatorna i New York City, vara på alerten för "knaprig" objekt på marken. Med tanke på din frus särskilda farhågor, nå som om att plocka en upp upp och be, "hmm, Jag undrar vad det är?" (Vara förberedda för hustru att kroppen slam du som om hon är en secret service agent skydda presidenten från en krypskytt eller du befinner dig på rygg på trottoaren).
  14. Kör två gånger runt en parkeringsplats söker utrymme. Du vet att du har verkligen slå betala smuts när din son i baksätet skriker, "Åh nej! Han gör det igen!"
  15. Skriva "topp 10" listor som inte har 10 objekt.

===

Bonus hustru skämt:

Två manliga medarbetare gå på lunch. En av dem berättar andra, Jag låt lös en pinsamt freudiansk felsägning härom kvällen."

"En freudiansk felsägning? Vad är det?"

"Väl, När vi ätit, Servitrisen kom och frågade hur vi gillade våra måltider. Jag menade säga, "Jag älskade kycklingbröstet’ men istället sa jag "Jag älskade dina bröst". Jag var så generad."

"Ah," hans medarbetare svarade. "Jag hade samma sak hända mig i helgen med min fru. Vi äter frukost jag menade att be henne att passera smöret, men i stället jag skrek på henne, "Du förstört mitt liv!’"

</slutet>

Technorati Tags:

Händelse-ID 1023: “Windows kan inte läsa in utökningsbar räknare-DLL för MSSCNTRS”

UPPDATERING (04/08/08): Jag verkar ha löst problemet. Från kommandoraden, Jag körde "c:\windowssystem32lodctr/r" per en post som talar om InstallShield verkar problem och som ha löst det för mig.

Jag har märkt som på sistone, min desktop/server fan stänger aldrig av. Jag vet att det används för att stänga av. Jag tog en stund för att kolla ut märkte att den en VMware process var igång en konsekvent 20% användningen i en av Processorns. Jag kollade loggen och såg dessa fel i programloggen händer dussintals gånger per minut:

Windows kan inte läsa in utökningsbar räknare-DLL för UGatherer, första DWORD i datasektionen finns felkoden i Windows.

Windows kan inte läsa in utökningsbar räknare-DLL för UGTHRSVC, första DWORD i datasektionen finns felkoden i Windows.

Windows kan inte läsa in utökningsbar räknare-DLL för MSSCNTRS, första DWORD i datasektionen finns felkoden i Windows.

Om jag gå in i detalj på något av dessa meddelanden, Jag får detta:

Källa: Perflib

Typ: Fel

Kategori: Ingen

Händelse-ID 1023

Jag gjorde en del efterforskningar och fanns vissa tecken som det kan vara ett tillstånd problem vad gäller tillgång till dll i fråga. Jag spelade runt med det där men kan inte påverka saker på ett positivt sätt så jag gav upp på det.

VMware hade tjatat mig om hur du utför en uppdatering för ganska länge, så jag skrev ner den version som jag hade installerats (uppenbarligen build"1.0.1 29996") och gjorde uppdateringen. Detta uppgraderade mig till v1.04. Tyvärr, det inte åtgärda problemet.

Jag kan stoppa vansinniga antalet meddelanden ska min programloggen om jag stänga ned en tjänst benämn "VMware tillstånd Service". Detta hindrar mig från att använda programvaran VMware, så … inte sådana ett bra alternativ.

Värd operativsystemet är Windows XP 64 lite.

Jag tror inte att detta alltid har hänt, men minns jag inte någon särskild händelse som har lett till det.

Det är därför jag hatar datorer.

</slutet>

Technorati Tags:

Snabb & Lätt: Byt namn på överförda filen med hjälp av SharePoint-objektmodellen Via ett händelse-mottagare

UPPDATERING: Detta fungerar men det finns betydande begränsningar som beskrivs i kommentarerna. Detta kan fortfarande vara användbart i vissa fall.

UPPDATERING 2: I mitt nuvarande projekt, användare alltid ladda upp dokument. Som en följd, Jag kör inte in i ett problem där MS Word körs och tycker att filen byttes namn på den. Jag stött på ett problem, "filen ändrades av någon annan" och löste detta via en enkel semafor typ flagga. Förbrukaren behov till ändra en meta datafält från standardvärdet till något annat. Itemupdated() mottagaren ser ut för ett giltigt värde det innan du faktiskt utför nytt namn och sedan dess, Jag har inte haft några problem. Användbarheten kan variera.

Jag har ett krav på klienten att ändra namn på filer som laddas upp till ett visst dokumentbibliotek att överensstämma med en viss namnkonvention. API tillhandahåller inte en "Byt namn()" metoden. I stället, Vi använder "MoveTo(…)". Här är lite minimal kod för att åstadkomma detta:

 offentliga åsidosätta void ItemAdded(SPItemEventProperties egenskaper)
        {
            SPFile f = egenskaper.ListItem.File;

            f.moveTo(egenskaper.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc");
            f.Update();

        }

Den bara knepiga biten är "egenskaper. ListItem.ParentList.RootFolder.Url". MoveTo() metoden kräver en URL. Som mosade upp strängen poäng mig till rotmappen på min nuvarande dokumentbibliotek. Detta gör att jag slipper någon hård kodning i min händelsemottagare.

Detta är en mer användbar version som gör samma sak, men tilldelas namnet på filen "Titel":

 offentliga åsidosätta void ItemAdded(SPItemEventProperties egenskaper)
        {
            DisableEventFiring();

            // Tilldela namnet på själva titeln på denna punkt.
 // ANMÄRKNING: Den här tilldelningen måste äga rum innan vi ändrar själva filen.
 // Kräver uppdatering() på SPFile verkar ogiltigförklara egenskaperna i
 // någon mening.  Uppdateringar till "titel" Det gick inte att förändras (och uppdatera() Ring)
 // flyttades framför ändringen till i filnamnet.
            egenskaper.ListItem["Rubrik"] = egenskaper.ListItem.File.Name;

            egenskaper.ListItem.Update();

            SPFile f = egenskaper.ListItem.File;

            // Få förlängning av filen.  Vi behöver som senare.
 sträng spfileExt = nya FileInfo(f.Name).Förlängning;

            // Byt namn på filen till listan Objektets ID och använder filnamnstillägget att hålla
 // den del av det intakt.
            f.moveTo(egenskaper.ListItem.ParentList.RootFolder.Url +
                "/" + egenskaper.ListItem["ID"] + spfileExt);

            // Begå flytten.
            f.Update();

            EnableEventFiring();
        }

Forumet diskussion: Att upprätthålla bästa praxis överensstämmelse i icke-trivialt MOSS miljö

En Karl, "Mark", har startat upp en potentiellt intressant diskussionsgrupp diskussion fokuserar på "etablera utmärkt SharePoint styrning från början" för en 35,000 användarmiljö.

Diskussionen är här: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

Pop på över och bidra!

</slutet>

Anpassad åtgärd URL visas inte för ny funktion

Jag är fortfarande i vanan att mejsla fram min funktionen XML-filer för hand eftersom det är alla helt nytt för mig. Jag vill inte lita på en front-end verktyg att gör saker jag inte förstår (Han sa som han skrev ett blogginlägg med ett verktyg som han inte förstår).

Idag, Jag försökte lägga till en anpassad åtgärd i Webbplatsinställningar men det bara inte skulle dyka upp. Jag kunde installera funktionen och se den i webbplatsen har, men när jag aktiverat den (utan fel) det inte skulle helt enkelt dyka upp på den nedrullningsbara menyn.

Jag insåg till slut att jag felstavat "SharePoint" i attributet plats i den <CustomAction> nod. Detta är den dåliga elements.xml fil:

<?XML version="1.0" kodning="UTF-8" ?>
<Element xmlns="http://schemas.microsoft.com/SharePoint/">
  <CustomAction
 ID="SiteActionsToolbar"
 GroupId="SiteActions"
 Plats="Microsoft.Sharepoint.StandardMenu"
 Sekvens="100"
 Avdelning="Hej!"
 Beskrivning="Anpassade menyn åtgärder läggas till via en funktion."
 ImageUrl="_layouts/images/menuprofile.gif">

    <UrlAction URL="http://www.xyzzy.com"/>

  </CustomAction>
</Element>

Bra:

<?XML version="1.0" kodning="UTF-8" ?>
<Element xmlns="http://schemas.microsoft.com/SharePoint/">
  <CustomAction
 ID="SiteActionsToolBar"
 GroupId="SiteActions"
 Plats="Microsoft.SharePoint.StandardMenu"
 Sekvens="100"
 Avdelning="Hej!"
 Beskrivning="Anpassade menyn åtgärder läggas till via en funktion."
    >
    <UrlAction URL="http://www.xyzzy.com"/>
  </CustomAction>
</Element>

That one took me a good two hours to figure out 🙂

Jag finna tröst i faktumet att någon dag i framtiden, Jag kommer att kunna säga med övertygelse, "tillbaka i dag, Jag hade gå tre miles upp backen i snön (barfota!) för att distribuera en anpassad funktion till MOSS. Du barn, du vet inte hur lätt du har det! Få bort min gräsmatta!"

Kan inte vänta.

</slutet>

Technorati Tags: ,