arhive lunare: Noiembrie 2007

MOSS spune mi coloana numele meu este rezervate sau în utilizarea … Dar nu este

ACTUALIZARE 12/04/07: A se vedea Acest Microsoft KB (http://support.microsoft.com/kb/923589) pentru informaţii legate de.

De fapt, se pare că este, dar care MOSS a trebuit să fac dificilă.

Clientul meu are unele munca de dezvoltare, pe site-ul lui MOSS peste week-end. Este un pic de un talmeş-balmeş încât ceea ce a făcut de fapt, dar acest lucru este rezultatul final:

  • El încearcă să adăugaţi o coloană de site-ul numit "cantitate" şi răspunsurile MOSS: "Coloana numele care aţi introdus-o este deja în uz sau rezervate. Alege un alt nume."
  • El încearcă să adăugaţi-l la un alt mediu şi care funcţionează. Prin urmare, "Cantitate" nu este un nume rezervat.
  • El încearcă să găsească o coloană de site existentă, numit "cantitate" în această colecție de site-ul. El nu-l găsiţi.

Am făcut unele cercetare, şi chiar unele de codificare, cerat filosofice şi în cele din urmă a constatat că a făcut o coloană numită cantitatea, de fapt, exista. Acesta a fost în _Hidden"" Grupa. Prin urmare, nu am putut găsi prin interfaţa cu utilizatorul SharePoint.

Cum a ajuns acolo? nu ştiu, dar am o teorie (sau ca soţia mea-ar numi, "blah blah blah"). Undeva de-a lungul liniei, o fabulos şablon patruzeci a fost adăugat şi, probabil, activat la un site din colecția de site-ul. Ea apoi a fost dezactivat (sau site-ul scos). Coloană de site, cu toate acestea, a rămas dar în "_Hidden" Grupa. Dacă cineva ştie mai bine, vă rugăm să-mi spuneţi prin e-mail sau post în Comentarii.

SharePoint a fost a spune adevărul. Este greu merită subliniind că acel mesaj nu este la fel de utile ca ar putea fi. Ar fi frumos pentru a vedea acest mesaj furculiţă în două diferite mesaje în viitor: 1) Spun că numele coloanei este rezervat sau nu este. 2) În cazul în care acesta nu este rezervată, Arată site-ul, sau cel puţin a grupului, în cazul în care numele coloanei este folosit deja.

</scop>

Prezinte date de OM prin intermediul o listă particularizată (sau, Încă un alt OM de date Displayor [ca YACC, dar diferite])

Astăzi, Mi-am petrecut câteva ore de urmărire în jos cauza din spatele mesajul "coloana numele pe care le-aţi introdus este deja în uz sau rezervate. Alege un alt nume."

Coloana în cauză ar putea fi create, şters şi re-creat într-un alt mediu, aşa că am ştiut că nu a fost un nume rezervat. Cu toate acestea, Am pur şi simplu nu a putut găsi coloana oriunde prin interfaţa utilizator standard pentru SharePoint la orice site din colecția de site-ul.

Am postat la MSDN forumuri aici şi îndărătnic Andrew Woodward a subliniat mine în direcţia de date care stau la baza modelul obiect.

Am plecat la Codeplex pentru a găsi unele instrumente care ar ajuta-mi peer în OM care stau la baza de date şi ajută-mă găsiţi probleme.

Am incercat mai multe instrumente şi au fost foarte cool şi interesant, dar în cele din urmă, UI nu a fost suficient de bun pentru scopul meu. Eu nu sunt critici le prin orice mijloace, dar în mod clar factorii de instrument nu au problema mea în minte atunci când au creat lor UI :). Cei mai mulţi oameni par a fi investind o cantitate echitabil de timp şi efort în crearea postului de lucru / aplicaţiile client care oferă vedere la copac, faceţi clic dreapta pe meniuri context şi aşa mai departe. Acestea sunt frumos şi toate, dar este o mulţime de lucru pentru a crea o experienţă de utilizator de top-of--line, care este de asemenea foarte flexibil.

Am nevoie într-adevăr un răspuns la această problemă. A avut loc la mine că dacă aş putea obţine toate coloanele site din colecția de site-ul într-o listă particularizată, Am putea filtra, sorta şi de a crea vederi care ar ajuta-mi găsi această coloană se presupune existente (care a făcut-o, BTW). Am mers înainte şi a făcut asta şi o oră sau două mai târziu, a avut toate coloanele de site-ul meu încărcat într-o listă particularizată cu gruparea, sortare şi aşa mai departe. Am găsit răspunsul meu cinci minute mai târziu.

Dacă am lua cu succes în întreaga lume, Cred că am decret că toţi furnizorii de instrumente SharePoint trebuie să ia serios în considerare suprafaţă lor date de modelul de obiect într-o listă particularizată. În acest fel, Am puterea pentru a căuta orice fel vreau (constrânse, desigur, de caracteristicile standard sharepoint).

Acțiune particularizată de flux de lucru SharePoint Designer — Despre observare <FieldBind Designer tip =”StringBuilder” … />

Doar o observaţie rapid că există o diferenţă foarte importantă între aceste două definiţii:

<FieldBind teren = "InParam1" DesignerType = "StringBuilder" ID = "2" Text = "Parametru de intrare #1" />

comparativ cu:

<FieldBind teren = "InParam1" ID = "2" Text = "Parametru de intrare #1" />

Primul show de acest fel în SPD:

imagine

în timp ce acesta din urmă Arată ca aceasta:

imagine

I’m not sure how helpful these screen shots are but I put in the effort to make them so you have to view them 🙂

Observarea este aceasta: StringBuilder vă permite să construiască un şir (în mod evident) prin amestecarea împreună şir literali şi fluxul de date (prin "Add Lookup" butonul din colţul din stânga jos). Când utilizaţi butonul Adauga Lookup, se inserează un simbol în formă"[%Token-ul %]". Când SharePoint invocă dumneavoastră acțiune particularizată, (C# cod în cazul meu), SharePoint trece token-ul în sine, nu valoarea simbolului. Dacă utilizaţi tipul implicit de design (al doilea tip), SharePoint extinde token-ul şi trece de valoare reală de token-ul dumneavoastră de acţiune.

StringBuilder = proaste, implicit designer tip = bun.

desigur, Asta e ceea ce am cu adevărat înseamnă. Doar nu încercaţi şi trece un parametru dumneavoastră acțiune particularizată când proiectantul tip = StringBuilder. Utilizaţi tipul implicit de design şi lanţ StringBuilder o să-l în faţă, în cazul în care aveţi nevoie pentru a construi complexe siruri de caractere în fluxul de lucru (de altfel care este exact ceea ce o face pentru a crea un subiect dinamic pentru acţiunea de e-mail, dar asta e un subiect pentru un alt blog intrare, har har).

<final />

Activarea prematură de flux de lucru — O soluţie Non-medicale

ACTUALIZARE: A se vedea această discuţie MSDN, mai ales ultima intrare: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Ea descrie o condiţie care poate scurt circuit totul. În scurt, Acesta poate fi la fel de simplu ca făcând cel puţin unul din câmpuri obligatorii.

Am o bibliotecă de documente care sprijină opt tipuri de conținut.

Eu am un flux de lucru SharePoint Designer care vrea pentru a calcula şi de a atribui un memento data"" pur şi simplu scăzând 30 de zile de la o altă coloană, "scadenta". Acest lucru ar trebui să întâmpla doar pentru unul dintre tipurile de conținut, "Asigurare". Obiectivul de afaceri este de a produce un KPI care arată două categorii de asigurări documentele: "să expire" şi "a expirat." (Puteţi citi mai multe despre acest tip de KPI şi mai substanţială detaliaþi-jos aici).

Am configurat fluxul de lucru la foc atunci când este creat un articol şi atunci când un element este modificat. Ideea este că, atunci când este încărcat un document de asigurare, putem calcula o dată"avertizare" pe baza datei de expirare. O pereche de puncte de vedere locul de muncă în legătură cu o listă de KPI pentru a evidenţia aceste condiţii atunci când utilizatorii lovit lor pagina de start.

Această strategie nu funcţionează atunci când am încărcaţi un document.

Încărca documentul şi am prezentat cu ecranul de intrare a datelor meta. La acest punct, Eu sunt deja în probleme. SharePoint are deja, prematur din perspectiva mea, concediat fluxul de lucru. Nu am avut o şansă de a alege tipul corect de conţinut şi nici nu atribuie o dată scadentă. În acelaşi timp, fluxul de lucru nu foc atunci când am lovit prezinte buton în acest moment. Există unele logica încorporat, care "consideră că" care prezintă primul este parte a "crea" eveniment. Deci … meu de lucru a concediat si când executat, a fost trecut implicit meta date valorile.

Cel mai bun lucru în jurul stiu de este de a insera o pauză"până la" activitate în fluxul de lucru. Am pauza de flux de lucru pentru 1 minut. În timp ce acesta este întreruperea, Selectează tipul corect de conţinut, meta-date şi incitantă. Pauză completează şi fluxul de lucru continuă după cum este necesar. (Reţineţi că, în mediul meu, cronometru activităţi de flux de lucru la SPD nu lucrează afară de la cutie. Este posibil să aveţi aceleaşi probleme. A se vedea aici pentru mai multe detalii).

Nu-mi place "magic întârziere" lucru în jurul. Ce se întâmplă dacă utilizatorul încarcă un document şi sună telefonul şi conversaţie urmat outlasts pauză? Pot face pauză mai lungă, dar încă nu îmi place ea.

Am scris despre asta pe forumuri MSDN aici: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

SharePoint de securitate fundamentale grund / Evita capcane comune

ACTUALIZARE 12/18/07: A se vedea articolul Paul Liebrand pentru unele consecinţe tehnice de eliminarea sau modificarea numele grupului implicit (a se vedea comentariul lui de mai jos, precum şi).

Privire de ansamblu:

Securitate SharePoint este uşor pentru a configura şi gestiona. Cu toate acestea, sa dovedit a fi dificil pentru unii administratori de prima dată pentru a împacheta într-adevăr mâinile lor în jurul acestuia. Nu numai că, Am vazut Unii administratori de ajunge la o înţelegere perfectă luni, doar pentru a l-au pierdut de vineri deoarece ei nu au a face orice configuraţie în timpul intervin. (Recunosc că pentru a avea această problemă eu). Această intrare de blog, sperăm, oferă un grund de securitate SharePoint utile şi puncte faţă de unele de configurare de securitate cele mai bune practici.

Notă importantă:

Această descriere se bazează pe afară de la cutie de securitate SharePoint. Experienţa mea personală este orientat în jurul MOSS, aşa că pot exista unele chestii MOSS specifice aici, dar cred că este corect pentru AAC. Sper că oricine văzând orice erori sau omisiuni vor sublinia că în comentarii sau e-mail-mă. Voi face corecţii post-grabă.

Fundamentele:

În scopul de această prezentare generală, Există patru aspecte fundamentale pentru securitate: utilizatori/grupuri, SecurAble obiecte, nivelurile de permisiune şi moştenire.

Utilizatori și grupuri rupe în jos pentru a:

  • Utilizatori individuali: Tras din activ, Director sau create direct în SharePoint.
  • Grupuri: Mapate direct din active directory sau create în SharePoint. Grupurile sunt o colecţie de utilizatori. Grupurile sunt la nivel global într-o colecţie de site-ul. Ei sunt mai "legat" la un anumit obiect securizabil.

SecurAble obiecte rupe în jos pentru a cel puţin:

  • Site-uri
  • Biblioteci de documente
  • Elemente individuale în liste și biblioteci de documente
  • Dosare
  • Diferite setări de BDC.

Nu există alte obiecte securizabil, dar ai poza.

Nivelurile de permisiune: Un pachet de granulare / drepturile de acces la nivel scăzut care includ lucruri cum ar fi crearea/citi/sterge intrările în listele.

Moştenire: În mod implicit entităţi moștenesc setările de securitate care conţine obiectul lor. Subsite-urile moștenesc permisiunea de la lor mamă. Bibliotecile de documente moşteni de la site-ul lor. Şi aşa mai departe.

Utilizatorii şi grupurile se referă la obiecte securizabil prin niveluri de permisiune şi moştenire.

Cele mai importante reguli de securitate pentru a înţelege, Ever 🙂 :

  1. Grupurile sunt pur şi simplu colecţii de utilizatori.
  2. Grupurile sunt la nivel global în termen de o colecţie de site-ul (adică. nu există un astfel de lucru ca un grup definit la nivel de site-ul).
  3. Nume de grup nu reziste, grupurile nu, În şi de ei înşişi, au orice nivel special de securitate.
  4. Grupurile au de securitate în contextul unui anumit obiect securizabil.
  5. Poate atribui niveluri de permisiune diferite pentru acelaşi grup pentru fiecare obiectul securizabil.
  6. Politici de aplicaţie web atu toate astea (a se vedea mai jos).

Administratorii de securitate pierdut într-o mare de listări de grup și utilizator puteţi baza întotdeauna pe aceste axiome pentru a gestiona şi de a înţelege lor de securitate de configurare.

Capcane comune:

  • Grupa nume fals implica permisiunea: Afară de la cutie, SharePoint defineşte un set de grupuri ale căror nume implică un nivel inerente de securitate. Considera grupul "Contribuitor". Unul familiarizat cu SharePoint de securitate poate bine uita-te la acest nume şi presupune că orice membru al acelui grup "contribui" orice site-ul/lista/Biblioteca în portal. Aceasta poate fi adevărat, dar nu pentru că numele grupului se întâmplă să fie "contribuitor". Acest lucru este adevărat numai în afară de la cutie pentru că grupul a fost furnizat de un nivel de permisiune care să le permită pentru a adăuga/edita/şterge conţinut la site-ul rădăcină. Prin mostenire, contribuabili"" grup, de asemenea, pot adauga/edita/şterge conţinut la site-sub-ul fiecare. Unul pot "rupe" lanţul de moştenire şi schimba nivelul de permisiune de un sub-site-ul astfel că membri ai aşa-numitele "contribuitor" Grupul nu poate contribui la toate, dar doar citit (de exemplu). Acest lucru nu ar fi o idee buna, în mod evident, deoarece ar fi foarte confuz.
  • Grupurile nu sunt definite la nivel de site-ul. Este uşor de a fi confundate de interfaţa cu utilizatorul. Microsoft oferă o legătură convenabilă la utilizatorul/grupul de management prin intermediul site-ului fiecare "oameni şi grupuri" link-ul. Este uşor să credem că atunci când eu sunt la site-ul "xyzzy" şi creează un grup prin xyzzy pe oameni şi grupuri link că am creat doar un grup care există doar la xyzzy. Că nu este cazul. De fapt am creat un grup de colectare întreg site-ul.
  • Grupuri de membru nu variază în funcţie de site-ul (adică. este la fel peste tot grupul este utilizat): Considera grupul "proprietar" şi două site-uri, "HR" şi "Logistica". Ar fi normal să cred că doi indivizi separaţi ar proprii aceste site-uri — un proprietar de HR şi un proprietar de logistică. Interfaţa este uşor pentru un administrator de securitate a mishandle acest scenariu. În cazul în care nu am stiut mai bine, S-ar putea accesa oameni şi grupuri de link-uri prin intermediul site-ului HR, Selectaţi "proprietarii" de grup şi se adaugă meu proprietar de HR la acel grup. O lună mai târziu, Logistica vine pe linie. Accesa oameni şi grupuri din situl de logistică, Adauga trage "proprietarii" Grupa. Văd proprietarul HR acolo şi elimina i, gândindu-mă că eu sunt scoaterea ei din proprietarii de site-ul logistica. de fapt, Eu sunt scoaterea ei din grupul proprietarii globale. Ilaritate apare.
  • În caz contrar să numele grupuri bazate pe rol specific: "Aprobatori" Grupul este un exemplu perfect. Ce pot membri ai acestui grup de aprobare? În cazul în care pot ei să-l aprobe? Chiar vreau oameni Departamentul de logistica pentru a aproba documente HR? Desigur, nu. Întotdeauna numele grupurilor bazat pe rolul lor în cadrul organizaţiei. Acest lucru va reduce riscul că grupul este atribuit un nivel inadecvat permisiunea pentru un anumit obiect securizabil. Numele grupurilor bazat pe rolul lor destinate. În scenariul anterior HR/logistica, Mi-ar trebui să am creat două noi grupuri: "Proprietarii de HR" şi proprietarii de logistică"" şi atribui niveluri de permisiune sensibil pentru fiecare şi suma minimă necesară pentru cei care utilizatorii să facă treaba lor.

Alte referinţe utile:

Dacă le-aţi făcut acest lucru de departe:

Vă rog să-mi spuneţi-vă gândurile prin comentarii sau e-mail-mă. Daca stiti alte referinte bune, vă rugăm să facă acelaşi lucru!

Technorati Tags:

Rapid şi uşor: Creaţi o partea de Web date vizualizare (DVWP)

Există o mulţime de mare de informaţii pe AAC 3.0 Partea de Web date vizualizare (DVWP) pe web din mai multe surse. Cu toate acestea, Am găsit-o a fi surprinzator de dificil de a găsi informaţii pe această bază primul pas. Aici este un alt articol în "rapid şi uşor" serie de a adresa aceasta.

Urmaţi aceşti paşi pentru a crea un date Vezi parte web (DVWP). Acestea se bazează pe un "anunturi" parte Web, dar se aplică la listele de cele mai multe.

  1. Creaţi o parte web de anunţuri şi adăugaţi-l la un site.
  2. Deschide site-ul în SharePoint Designer.
  3. Deschide site default.aspx.
  4. Selectaţi partea web de anunţuri şi faceţi clic dreapta pe.
  5. Din meniul contextual, Selectaţi "conversia la XSLVizualizare date T".

SharePoint Designer vă anunţă că acest site este personalizat acum la sa definiţie de site-ul. Că nu este neapărat rău, dar există implicaţii importante (performanţă, upgrade-ul, altele) care sunt dincolo de domeniul de aplicare al acest mic "rapid şi uşor" intrare. Pentru a obţine mai multe informaţii despre acest subiect, Vă recomandăm ambele cărţi aici precum şi dumneavoastră preferat căutare pe Internet.

Confirmaţi că aţi făcut-o corect:

  1. Închideți și redeschideți browser-ul web (pentru a evita accidental Re-postaţi original "Adăugaţi o nouă parte web").
  2. Selectaţi partea web săgeată verticală şi alegeţi "Modify Shared parte Web" din meniul.
  3. Instrument panoul se deschide spre dreapta.
  4. Panoul a schimbat de la său obicei setaţi opţiunile pentru aceasta:
imagine

“Nu se poate obţine proprietatea lista schemă coloană din listă SharePoint” — Descriere/munca-Suplimente

În această săptămână, am reprodus în cele din urmă o problemă care a fost raportat de către un utilizator de la distanţă: Când ea a încercat să exporte conţinutul unei liste în excel, lucrurile ar părea să înceapă lucrul, dar apoi Excel ar apărea o eroare: "Can't get proprietatea lista schemă coloană din listă SharePoint". Ea a fost difuzate de birou 2003, Windows XP şi conectarea la MOSS.

Am cautat pe Internet şi am văzut unele speculaţii dar nimic 100% definitiv. Prin urmare, Acest post.

Problema: Exportul de vedere pentru a excela care conţine o dată (data = tipul de date al coloanei).

Ceea ce a lucrat pentru noi: Conversia data "o singură linie de text". Apoi, face conversia înapoi la o dată.

Care a rezolvat-o. A fost frumos pentru a vedea că o conversie a lucrat, de fapt. A fost destul de nervos că conversia lucruri de acest fel ar eşua, dar acesta nu a.

Acest bug a aruncat o umbră mare peste tipul de date dată în mintea clientului, Deci, vom fi caută un răspuns definitiv la Microsoft şi sperăm că voi posta şi actualizare aici în următoarea perioadă scurtă de timp, cu informaţiile lor oficial răspuns şi remedieri rapide.

Alte referinţe:

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

<scop>

Aboneaza-te la blog-ul meu.

Technorati Tags: ,

Simplă şi rapidă: Trimite un e-mail cu hyperlink-ul încorporat de flux de lucru SharePoint Designer

O dată sau de două ori pe lună, cineva posturi o întrebare de forum: "Cum să includ hyperlink-uri la URL-ul pe care se poate face clic dintr-un e-mail de SharePoint Designer?"

Prezentat fără Comentarii suplimentare: (bine, de fapt, există în continuare comentariu după imaginea):

imagine

Becky Isserman urmează cu o explicaţie de ajutor pe cum pentru a încorpora un link la un articol în 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

Noua versiune: Extensii de flux de lucru SharePoint Designer (funcţii de manipulare şir)

ACTUALIZARE: A se vedea aici pentru gândurile mele pe comercializarea acestui proiect: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Am fost ocupat de lucru pe proiectul meu de Codeplex, care în prezent este axat pe furnizarea şir de manipulare extensii pentru fluxuri de lucru create prin intermediul SharePoint Designer.

A se vedea aici pentru detalii:

Proiect casa: http://www.codeplex.com/spdwfextensions

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

Versiunea 1.0 include următoarele caracteristici noi:

Funcţia Descriere (Dacă nu de aceeaşi ca funcţia de .net)
Intrările de num() Returnează numărul de intrări"" într-un şir ca pe un separator specificate.

De exemplu: Num-intrări într-un şir "a,b,c" cu delimitatorul"," = 3.

Intrare() Returnează n-token-ul într-un şir ca pe un separator specificate.
Lungime String.Length
Înlocui() String.Replace()
Conţine() String.Contains()
Returnează cuvântul "adevărat" sau cuvântul "false".
Subşir(începe) String.Substring(începe)
Subşir(începe,lungime) String.Substring(începe,lungime)
ToUpper() String.ToUpper()
String.tolower() String.ToLower()
StartsWith() String.StartsWith()
Returnează cuvântul "adevărat" sau cuvântul "false".
EndsWith() String.EndsWith()
Returnează cuvântul "adevărat" sau cuvântul "false".

O eroare de BDC runtime a explicat

Am cauzat de o eroare de BDC această săptămână care a manifestat pe interfaţa cu utilizatorul şi în 12 jurnal de stup în timpul rulării.

Prima, Aceasta a apărut în interfaţa cu utilizatorul:

Imposibil de găsit câmpuri pentru a insera toate valorile identificatorilor pentru a executa corect o SpecificFinder MethodInstance cu numele … Asigure parametrii de intrare au TypeDescriptor asociați cu fiecare identificator definit pentru această entitate.

Aici este un ecran shot:

clip_image001

S-ar putea provoca, de asemenea, acest mesaj pentru a apărea în 12 stup log la va (ajutorul meu brevetat high-tech-don't-try-this-at-home "misterioase erori" metoda):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C date de afaceri SharePoint Portal Server 6q4x mare excepţie în BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Valoarea de identificator ”, de tip ”, nu este valid. Aşteptat valoare identificator de tip 'System.String'. la Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Obiect[] subIdentifierValues, LobSystemInstance lobSystemInstance) la Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entitate entitate, Obiect[] userValues, LobSystemInstance lobSystemInstance) la Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Vezi desiredView) la Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() la Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Am căutat în jurul şi a găsit unele conduce în MSDN forum, dar nu au fost suficient pentru mine să înţeleagă ceea ce am făcut greşit. Am urmarit o prezentare Web de Ted Pattison care meu Compania a squirreled deplasare pe un server şi a venit să realizeze problema mea.

În mea ADF, Eu sunt conectarea la o bază de date SQL, aşa cum se Arată:

            <Proprietate nume="RdbCommandText" Tip="System.string">
              <![CDATA[
                SELECTAŢI SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      TARA, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, CITY, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COMITATUL, STAT, POŞTALE, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, PRELUNGIRE, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG de dbo.PS_CARRIER_ID_VW cu (nolock)
                ÎN CAZUL ÎN CARE
                  (SETID <> "COTA") şi
                  (Inferioară(CARRIER_ID) >= mai mici(@MinId)) şi
                  (Inferioară(CARRIER_ID) <= mai mici(@MaxId)) şi
                  (Inferioară(DESCR) CA mai mici(@InputDescr))
                ]]>
            </Proprietate>

I-a fost astfel că SQL de la un DBA persoana si am dat de înţeles că este o speciale Vezi au creat doar pentru mine. Cheie unic este CARRIER_ID.

Aici este bug-ul, am introdus:

      <Identificatori>
        <Identificator nume="CARRIER_ID" TypeName="System.string" />
        <Identificator nume="DESCR" TypeName="System.string" /> 
</Identificatori>

Undeva de-a lungul liniei, Am reuşit să mă confunde în sensul <Identificatori> şi a adăugat DESCR, chiar dacă nu este de fapt un identificator. Am luat DESCR din identificatori set şi presto! Totul a lucrat.

I hope this saves someone some grief 🙂

Technorati Tags: , , ,