Arkib Bulanan: November 2007

MOSS menceritakan Me Name Ruangan saya pendiam atau Dalam Penggunaan … Tetapi Ia Tidak

UPDATE 12/04/07: Lihat ini Microsoft KB (http://support.microsoft.com/kb/923589) untuk maklumat berkaitan.

Sebenarnya, ternyata ia adalah, tetapi dpt MOSS terpaksa membuat sukar.

Pelanggan saya tidak beberapa kerja-kerja pembangunan di lokasi MOSS pada hujung minggu. Pendapat ini tidak semestinya daripada jumble tentang apa yang dia benar-benar lakukan, tetapi keputusan akhir adalah ini:

  • Dia cuba untuk menambah ruangan laman web yang dipanggil "kuantiti" dan jawapan MOSS: "Lajur nama yang anda masukkan adalah sudah digunakan atau simpanan. Pilih nama yang lain."
  • Dia cuba untuk menambah satu lagi suasana dan kerja-kerja yang. Oleh itu, "Kuantiti" bukan nama terpelihara.
  • Dia cuba mencari sebuah kolum lokasi sedia ada yang dinamakan "kuantiti" dalam koleksi tapak yang. Beliau tidak dapat mencari.

Saya ada penyelidikan, dan pengekodan Walaupun sebahagian, Wax falsafah dan akhirnya mendapati bahawa ruang dinamakan Kuantiti tidak, sebenarnya, wujud. Di dalam "_Hidden" Kumpulan. Oleh yang demikian, kita tidak dapat mencari ia melalui antara muka pengguna SharePoint.

Bagaimana ia sampai ke sana? saya tidak tahu, tetapi saya mempunyai teori (atau sebagai isteri saya akan memanggilnya, "bla bla bla"). Tempat di sepanjang garisan, 1 template empat puluh hebat ditambah dan mungkin diaktifkan di tapak dalam koleksi laman web. Ia kemudian telah dinyahdayakan (atau laman web yang dikeluarkan). Ruang tapak, Walau bagaimanapun, kekal tetapi dalam "_Hidden" Kumpulan. Jika seseorang tahu lebih baik, sila maklumkan kepada saya melalui e-mel atau pos dalam komen.

SharePoint memberitahu kebenaran. Ianya hampir tidak bernilai menunjukkan bahawa mesej itu adalah tidak berguna kerana ia mungkin. Itu akan menyenangkan untuk melihat fork mesej itu ke dalam dua mesej yang berbeza pada masa akan datang: 1) Mengatakan bahawa nama ruang dikhaskan atau tidak. 2) Jika ia tidak terpelihara, menunjukkan tapak, atau sekurang-kurangnya kumpulan, mana nama ruang ini telah digunakan.

</akhir>

Present Data Melalui OM Custom Senarai (atau, Namun lagi OM Data Displayor [seperti Yacc, tetapi berbeza])

Hari ini, Saya menghabiskan masa selama beberapa jam mengesan punca di sebalik mesej "lajur nama yang anda masukkan sedang digunakan atau disimpan. Pilih nama yang lain."

Ruangan yang berkenaan boleh diwujudkan, dipadam dan dicipta semula dalam persekitaran yang lain, Jadi saya tahu tak nama yang telah ditempah. Walau bagaimanapun, Saya hanya tidak dapat mencari medan di mana-mana melalui antaramuka pengguna SharePoint standard di mana-mana tapak dalam koleksi laman web.

Saya dimasukkan ke MSDN forum di sini dan yang tidak Andrew Woodward menunjuk saya ke arah data model objek yang asas.

Saya pergi ke codeplex untuk mencari beberapa alat yang akan membantu saya rakan data OM yang asas dan membantu saya mengesan masalah.

Saya cuba beberapa alat dan mereka sangat cool dan menarik tetapi di hujung, UI tidak cukup baik untuk tujuan saya. Saya saya tidak mengkritik mereka dengan apa cara, tetapi dengan jelas pembuat alat-tidak mempunyai masalah saya di rumah apabila mereka dicipta UI mereka :). Kebanyakan orang seolah-olah akan melabur jumlah masa dan usaha dalam mewujudkan stesen kerja yang saksama / applikasi pelanggan yang menyediakan pemandangan pokok, klik kanan menu konteks dan sebagainya. Ini adalah bagus dan semua, tapi banyak kerja untuk mewujudkan pengalaman pengguna top-of-the-line yang juga sangat fleksibel.

Saya benar-benar perlukan jawapan kepada masalah ini. Ia telah berlaku kepada saya bahawa jika saya boleh mendapatkan semua lajur yang lokasi dalam koleksi laman web ke senarai tersuai, Saya dapat menapis, menyusun dan mewujudkan pemandangan yang akan membantu saya mencari lajur ini kononnya sedia ada (yang ia tidak, BTW). Aku pergi ke depan dan pula yang dan satu atau dua jam kemudian, Semua Lajur Laman web saya yang telah dimuatkan ke dalam senarai tersuai dengan Kumpulan, menyusun dan sebagainya. Aku menemukan jawapan lima minit kemudian.

Jika dan apabila saya berjaya mengambil alih dunia, Saya fikir saya akan dekri bahawa semua pembekal alat SharePoint mesti serius mempertimbangkan permukaan data model objek mereka dalam senarai tersuai. Dengan cara ini, Saya mempunyai kuasa untuk mencari apa-apa cara nak (dihalang, sudah tentu, oleh ciri-ciri standard sharepoint).

SharePoint Designer workflow Custom Tindakan — Pemerhatian Mengenai <Field Tie Jenis Designer =”StringBuilder” … />

Hanya pemerhatian cepat bahawa terdapat perbezaan yang sangat penting antara kedua-dua definisi:

<FieldBind Field = "InParam1" DesignerType = "StringBuilder" ID = "2" Teks "Input parameter #1" = />

berbanding:

<FieldBind Field = "InParam1" ID = "2" Teks "Input parameter #1" = />

Menunjukkan pertama seperti ini dalam SPD:

imej

manakala menunjukkan seperti ini:

imej

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 🙂

Pemerhatian ini ialah: StringBuilder membolehkan anda untuk membina rentetan (jelas) bersama-sama dengan mencampurkan literals tali dan data aliran kerja (melalui ini "Tambah Lookup" butang di sudut kiri). Apabila anda menggunakan butang Tambah carian, Ia memasukkan token dalam bentuk"[%token%]". Bilakah SharePoint berkata tindakan tersuai anda, (C # kod dalam kes saya), SharePoint pas tanda itu sendiri, bukan nilai token. Jika anda menggunakan jenis Reka bentuk yang lalai (jenis kedua), SharePoint mengembang tanda dan pas nilai sebenar tanda itu kepada tindakan anda.

StringBuilder = BAD, Jenis pereka lalai = BAIK.

Kursus, Itulah yang tidak apa yang saya benar-benar maksudkan. Hanya Jangan mencuba dan lulus satu parameter untuk tindakan tersuai anda apabila pereka menaip = StringBuilder. Menggunakan jenis Reka bentuk lalai dan di StringBuilder kepadanya dahulu jika anda perlu untuk membina kompleks string dalam aliran kerja anda (yang kebetulan adalah tepat apa yang dilakukan untuk mewujudkan satu perkara yang dinamik bagi tindakan e-mel, tetapi itu adalah satu perkara yang lain blog, mempunyai).

<akhir />

Pramatang Pengaktifan workflow — Penyelesaian bukan perubatan

UPDATE: Lihat perbincangan MSDN ini, terutama kemasukan lepas: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Ia menerangkan keadaan yang mungkin litar pintas ini semua hal. Secara ringkasnya, ia mungkin semudah membuat sekurang-kurangnya salah satu bidang mandatori.

Saya mempunyai sebuah perpustakaan dokumen yang menyokong lapan jenis kandungan.

Saya mempunyai aliran Reka bentuk SharePoint yang ingin mengira dan peruntukkan "peringatan tarikh" dengan hanya menolak 30 hari dari ruangan lain, "tarikh matang". Ini hanya perlu berlaku untuk satu jenis kandungan, "Insurans". Matlamat perniagaan ialah untuk menghasilkan KPI yang menunjukkan kedua-dua kategori dokumen insurans: "kira-kira hingga tamat" dan "tamat tempoh." (Anda boleh membaca lebih lanjut mengenai jenis ini KPI dan lebih besar menggerudi-down di sini).

Saya telah menkonfigurasi aliran kerja untuk membakar apabila item-item yang baru dicipta dan apabila item diubahsuai. Ideanya adalah bahawa apabila dokumen insurans yang dimuat naik, kami mengira "Amaran tarikh" berdasarkan tarikh tamat tempoh. Sepasang pemandangan bekerja berkaitan dengan senarai KPI untuk menyerlahkan syarat-syarat ini apabila pengguna melanda halaman utama mereka.

Strategi ini tidak berfungsi apabila saya memuat naik dokumen.

Saya muat naik dokumen dan I am ditunjukkan dengan skrin kemasukan data meta. Pada ketika ini, Saya sudah berada dalam kesusahan. SharePoint telah, awal dari perspektif saya, dipecat dalam aliran kerja. Saya tidak punya peluang untuk memilih jenis kandungan yang betul mahupun peruntukkan tarikh kena dibayar. Pada masa yang sama, aliran dalam kebakaran apabila saya menekan butang hantar pada masa ini. Terdapat beberapa logik yang terbina dalam yang "percaya" yang mula-mula menyerahkan sebahagian daripada di "mencipta" acara. Jadi … kerja saya telah dipecat dan apabila ia dilaksanakan, Ia telah diluluskan lalai meta data nilai.

Yang terbaik kerja-sekitar saya tahu adalah untuk memasukkan suatu "tangguh sehingga" aktiviti di dalam aliran kerja. Aku punya tangguh aliran kerja bagi 1 minit. Manakala ia berhenti sejenak, Saya pilih jenis kandungan yang betul, Masukkan meta data. Jeda ini selesai dan alur kerja hasil yang diperlukan. (Perhatikan bahawa dalam persekitaran saya, pemasa aliran kerja aktiviti-aktiviti dari SPD tidak bekerja di luar kotak. Anda mungkin mempunyai masalah sama. Lihat di sini untuk maklumat lanjut).

Saya tidak suka "kelewatan ajaib" kerja-kerja sekitar. Apa akan berlaku jika pengguna upload dokumen dan telefon berdering dan perbualan berikutnya outlasts berhenti seketika dalam? Saya boleh membuat jeda yang lebih panjang, tetapi saya masih tidak suka.

Saya menulis tentang perkara ini di forum MSDN di sini: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

SharePoint Keselamatan Asas Pertama / Elakkan Perangkap biasa

UPDATE 12/18/07: Lihat artikel Paul Liebrand untuk beberapa kesan teknikal memindahkan atau mengubah nama kumpulan lalai (lihat komen beliau di bawah serta).

Tinjauan:

SharePoint Keselamatan adalah mudah untuk dikonfigurasi dan urus oleh. Walau bagaimanapun, Ia telah terbukti menjadi sukar bagi sesetengah pentadbir kali pertama untuk benar-benar Balut tangan mereka sekelilingnya. Bukan itu sahaja, Saya telah melihat beberapa pentadbir yang datang untuk pemahaman yang sempurna pada hari Isnin sahaja untuk telah hilang oleh Jumaat yang kerana mereka tidak perlu melakukan sebarang konfigurasi pada masa kematangan. (Saya mengaku mempunyai masalah ini sendiri). Entri blog ini mudah-mudahan menyediakan buku asas Keselamatan SharePoint berguna dan menghala ke arah beberapa amalan terbaik Keselamatan konfigurasi.

Nota Penting:

Huraian ini adalah berdasarkan daripada kotak SharePoint Keselamatan. Pengalaman peribadi saya adalah berorientasikan sekitar MOSS jadi mungkin ada sesetengah MOSS tertentu barangan di sini, tetapi saya percaya ia adalah tepat bagi WSS. Saya berharap bahawa sesiapa sahaja yang melihat apa-apa kesilapan atau ketinggalan akan menunjukkan bahawa dalam komen atau e-mel saya. Saya akan membuat pembetulan post tergesa-gesa.

Asas:

Bagi maksud gambaran ini, terdapat empat aspek asas kepada keselamatan: pengguna / kumpulan, objek securable, tahap kebenaran dan warisan.

Pengguna dan Kumpulan memecahkan untuk:

  • Pengguna individu: Ditarik dari direktori aktif atau diwujudkan secara langsung dalam SharePoint.
  • Kumpulan: Dipetakan secara langsung daripada Direktori Aktif atau dicipta dalam SharePoint. Kumpulan ialah sekumpulan pengguna. Kumpulan adalah global dalam koleksi tapak. Mereka tidak pernah "terikat" dengan objek securable tertentu.

Objek Securable memecahkan kepada sekurang-kurangnya:

  • Laman
  • Perpustakaan dokumen
  • Item individu dalam senarai dan perpustakaan dokumen
  • Folder
  • Pelbagai tetapan BDC.

Terdapat lain-lain objek securable, tetapi anda mendapat gambar.

Tahap kebenaran: Satu ikatan berbutir / hak capaian tahap rendah yang merangkumi perkara-perkara seperti mencipta/Baca/padam entri dalam senarai.

Warisan: Oleh entiti-entiti lalai mewarisi seting sekuriti daripada objek mereka mengandungi. Laman sub mewarisi kebenaran daripada ibu bapa mereka. Perpustakaan dokumen mewarisi daripada laman web mereka. Sebagainya dan sebagainya.

Pengguna dan kumpulan berkaitan dengan objek securable melalui tahap kebenaran dan warisan.

Peraturan Keselamatan Paling Penting Untuk Memahami, Ever 🙂 :

  1. Kumpulan hanya koleksi pengguna.
  2. Kumpulan adalah global dalam koleksi tapak (Dgn kata lain. tidak ada perkara seperti kumpulan ditakrifkan di peringkat tapak).
  3. Nama kumpulan tidak tahan, kumpulan tidak, dalam dan diri mereka sendiri, mempunyai tahap keselamatan yang tertentu mana-mana.
  4. Kumpulan mempunyai keselamatan dalam konteks sebuah objek securable yang tertentu.
  5. Anda boleh menetapkan tahap kebenaran berbeza dengan kumpulan yang sama untuk setiap objek securable.
  6. Web permohonan dasar muslihat semua ini (lihat di bawah).

Pentadbir Keselamatan hilang di lautan kumpulan dan senarai pengguna sentiasa boleh bergantung kepada aksiom ini untuk mengurus dan memahami konfigurasi keselamatan mereka.

Perangkap biasa:

  • Nama kumpulan palsu membayangkan kebenaran: Keluar dari kotak, SharePoint mentakrifkan satu set Kumpulan nama-nama yang membayangkan tahap keselamatan yang sedia ada. Mempertimbangkan Kumpulan "Penyumbang". Seseorang yang tidak dikenali dengan SharePoint keselamatan juga boleh melihat nama itu dan menganggap bahawa mana-mana ahli kumpulan tersebut boleh "menyumbang" kepada mana-mana lokasi/Senarai/Perpustakaan dalam portal. Ia mungkin benar tetapi bukan kerana nama Kumpulan yang berlaku menjadi "penyumbang". Hal ini hanya berlaku luar kotak kerana Kumpulan telah diperuntukkan tahap kebenaran yang membolehkan mereka untuk menambah/mengedit/memadam kandungan pada tapak akar. Melalui warisan, "penyumbang" Kumpulan juga boleh menambah/mengedit/memadam kandungan pada setiap tapak kecil. Salah satu boleh "memecahkan" rantai warisan dan perubahan tahap kebenaran sub tapak tersebut bahawa ahli-ahli dalam apa yang dipanggil "penyumbang" kumpulan tidak boleh menyumbang pada semua, tetapi hanya membaca (contohnya). Ini tidak akan menjadi satu idea yang baik, jelas, kerana ia akan menjadi sangat mengelirukan.
  • Kumpulan tidak ditakrifkan di peringkat tapak. Ia adalah mudah untuk dikelirukan oleh antaramuka pengguna. Microsoft menyediakan pautan mudah kepada pengguna/Kumpulan Pengurusan melalui setiap tapak "orang-orang dan Kumpulan" pautan. Ia adalah mudah untuk mempercayai bahawa apabila saya di laman web "xyzzy" dan saya mencipta Kumpulan melalui orang-orang di xyzzy dan Kumpulan pautan yang saya baru sahaja dicipta Kumpulan yang hanya wujud di xyzzy. Itu bukan kes itu. Saya benar-benar telah membuat sebuah Kumpulan bagi kutipan keseluruhan tapak.
  • Keahlian kumpulan tidak berbeza oleh laman (Dgn kata lain. ia adalah sama di mana-mana kumpulan yang digunakan): Mempertimbangkan Kumpulan "pemunya" dan dua tapak, "HR" dan "Logistik". Ia akan menjadi perkara biasa untuk berfikir bahawa dua individu yang berasingan akan memiliki tapak-tapak — seorang pemilik sumber manusia dan seorang pemilik logistik. Antara muka pengguna menjadikannya mudah bagi seorang pentadbir Keselamatan untuk mishandle senario ini. Jika saya tidak tahu lebih baik, Saya mungkin mengakses Rakyat dan Kumpulan pautan melalui laman HR, Pilih "pemilik" Kumpulan dan menambah pemilik HR saya kepada Kumpulan yang. Sebulan kemudian, Logistik datang on-line. Saya mencapai orang dan Kumpulan dari tapak logistik, Tambah tarik sehingga pemilik"" Kumpulan. Saya jumpa HR pemilik tiada dan keluarkan dia, memikirkan bahawa saya saya mengeluarkan dia daripada pemilik di tapak logistik. Malah, Saya saya mengeluarkan dia daripada golongan pemilik global. Kegembiraan yang Genting akan berlaku.
  • Gagal untuk menamakan kumpulan berdasarkan peranan tertentu: "Approvers" Kumpulan adalah contoh sempurna. Apa yang boleh ahli-ahli kumpulan ini lulus? Di mana mereka boleh meluluskan ia? Adakah saya benar-benar mahu orang logistik Jabatan dapat meluluskan dokumen HR? Sudah tentu tidak. Sentiasa nama Kumpulan berdasarkan peranan mereka dalam organisasi. Ini akan mengurangkan risiko bahawa Kumpulan ditugaskan tahap kebenaran yang tidak sesuai untuk objek securable yang tertentu. Nama Kumpulan berdasarkan peranan mereka. Dalam senario HR/logistik sebelumnya, Saya sepatutnya mewujudkan dua kumpulan baru: "Pemilik HR" dan "logistik pemilik" dan menetapkan tahap kebenaran wajar bagi setiap dan jumlah minimum yang diperlukan untuk orang-orang pengguna untuk melakukan tugas mereka.

Lain-lain Rujukan yang berguna:

Jika anda telah membuat sejauh ini:

Sila beritahu saya tahu pendapat anda melalui komen atau email saya. Jika anda tahu rujukan lain baik, sila melakukan perkara yang sama!

Technorati Tags:

Pantas dan Mudah: Buat View Data Web Part (DVWP)

Terdapat begitu banyak maklumat hebat WSS dalam 3.0 Data Lihat laman web Bahagian (DVWP) di laman web daripada beberapa sumber. Walau bagaimanapun, Saya mendapati ia menghairankan sukar untuk mencari maklumat tentang langkah pertama ini yang sangat asas. Berikut adalah satu lagi rencana dalam "cepat dan mudah" Siri ke alamat.

Ikuti langkah ini untuk mencipta sebahagian data paparan web (DVWP). Mereka adalah berdasarkan pengumuman"untuk" web bahagian, tetapi memohon senarai Kebanyakan.

  1. Membuat satu pengumuman web bahagian dan menambahnya ke tapak.
  2. Membuka tapak SharePoint Reka bentuk.
  3. Buka laman default.aspx.
  4. Pilih bahagian web pengumuman dan klik kanan.
  5. Daripada menu konteks, Pilih "Tukar kepada XSLLihat Data T".

Reka bentuk SharePoint memberitahu anda bahawa laman web ini sekarang disesuaikan daripada definisi Laman web yang. Itu bukan semestinya tidak baik, tetapi terdapat implikasi yang penting (prestasi, naik taraf, lain-lain) yang di luar skop ini sedikit "cepat dan mudah" entry. Untuk mendapatkan maklumat lanjut mengenai perkara ini, Saya cadangkan kedua-dua buku di sini dan carian Internet kegemaran anda.

Mengesahkan bahawa anda melakukannya dengan betul:

  1. Tutup dan buka semula pelayar web (untuk mengelakkan secara tidak sengaja semula posting yang asal "Tambah bahagian web baru").
  2. Pilih bahagian web anak panah juntai ke bawah dan pilih "ubah suai berkongsi Web bahagian" dari menu.
  3. Membuka panel alat di sebelah kanan.
  4. Panel telah ditukar dari opsyennya set biasa ini:
imej

“Tidak boleh mendapatkan skema senarai harta kolum daripada senarai SharePoint” — Penerangan / kerja-arounds

Minggu ini, kami akhirnya semula masalah yang telah dilaporkan oleh pengguna jauh: Apabila dia cuba untuk mengeksport kandungan senarai untuk cemerlang, perkara-perkara yang seolah-olah untuk memulakan kerja, tetapi kemudian Excel akan muncul ralat: "Tidak boleh mendapatkan senarai skema kolum harta daripada senarai SharePoint". Dia bertanding jawatan 2003, Windows XP dan menyambung ke Lumut.

Saya mencari internets dan melihat beberapa spekulasi tetapi apa-apa 100% muktamad. Oleh yang demikian, catatan ini.

Masalahnya: Mengeksport pandangan untuk cemerlang yang mengandungi tarikh (date = jenis data ruang).

Apa yang bekerja untuk kita: Menukar tarikh untuk sebuah "single line teks". Kemudian, menukar kembali ke tarikh.

Yang diselesaikan ia. Ia adalah bagus untuk melihat bahawa penukaran bekerja, sebenarnya. Ia adalah agak gementar yang menukarkan perkara-perkara begini akan gagal, tetapi ia tidak.

Bug ini telah dibuang bayangan besar ke atas tarikh jenis data dalam minda pelanggan, jadi kita akan mencari jawapan yang muktamad dari Microsoft dan diharapkan saya akan hantar dan mengemaskini di sini dalam tempoh yang singkat seterusnya masa dengan jawapan rasmi dan maklumat hotfix.

Rujukan lain:

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

<akhir>

Langgan ke blog saya.

Technorati Tags: ,

Cepat mudah dan: Hantar e-mel dengan pautan tertanam dari SharePoint Designer kerja

Sekali atau dua kali sebulan, seseorang posting soalan forum: "Bagaimana Adakah saya memasukkan pautan ke URL yang boleh diklik dari e-mel SharePoint Reka bentuk yang lain?"

Dikemukakan tanpa komentar tambahan: (baik, sebenarnya ada lagi komen selepas imej):

imej

Becky Isserman yang berikut dengan penjelasan yang berguna tentang cara untuk menerapkan pautan ke satu item di dalam e-mel: 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

Keluaran baru: SharePoint Designer workflow Extensions (fungsi manipulasi rentetan)

UPDATE: Lihat di sini untuk fikiran saya pada mengkomersilkan projek ini: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Saya telah sibuk bekerja di projek Codeplex saya yang kini memberi tumpuan kepada menyediakan sambungan manipulasi tali untuk aliran kerja yang diwujudkan melalui SharePoint Designer.

Lihat di sini untuk maklumat lanjut:

Rumah Projek: http://www.codeplex.com/spdwfextensions

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

Versi 1.0 termasuk ciri-ciri baru yang berikut:

Fungsi Penerangan (jika tidak sama. fungsi Bersih)
Bil-penyertaan() Kembali kepada nombor "entri" dalam rentetan mengikut delimiter yang ditetapkan.

Sebagai contoh: NUM-penyertaan dalam rentetan "a,b,c" dengan delimiter"," = 3.

Entry() Pulangan nth token dalam rentetan mengikut delimiter yang ditetapkan.
Panjang String.Length
Ganti() String.Replace()
Mengandungi() String.Contains()
Perkataan "benar pulangan" atau perkataan "palsu".
Subrentetan(memulakan) String.Substring(memulakan)
Subrentetan(memulakan,panjang) String.Substring(memulakan,panjang)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Perkataan "benar pulangan" atau perkataan "palsu".
EndsWith() String.EndsWith()
Perkataan "benar pulangan" atau perkataan "palsu".

Satu kesilapan runtime BDC menjelaskan

Saya disebabkan satu BDC ralat minggu ini yang memperlihatkan dirinya pada antara muka pengguna dan di dalam 12 log masuk sarang pada masa berjalan.

Pertama, ini muncul dalam antara muka pengguna:

Tidak dapat mencari medan untuk masukkan semua nilai pengecam melaksanakan dengan betul SpecificFinder MethodInstance satu dengan nama … Memastikan input parameter mempunyai TypeDescriptors yang berkaitan dengan setiap pengecam yang ditakrifkan untuk entiti ini.

Berikut adalah pukulan skrin:

clip_image001

Saya juga boleh menyebabkan mesej ini untuk hadir di dalam 12 sarang log pada akan (menggunakan high-tech-don't-try-this-at-home dipatenkan saya "kesilapan misteri" kaedah):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C Data perniagaan pelayan SharePoint Portal 6q4x tinggi terkecuali dalam BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Nilai pengenalpastian ”, jenis ”, tidak sah. Dijangka nilai pengenalpastian jenis 'System.String'. pada Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objek[] subIdentifierValues, LobSystemInstance lobSystemInstance) pada Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entiti-entiti, Objek[] userValues, LobSystemInstance lobSystemInstance) pada Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Pandangan desiredView) pada Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() pada Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Saya mencari sekitar dan mendapati beberapa petunjuk yang MSDN forum, tetapi mereka tidak cukup bagi saya untuk memahami apa yang saya lakukan salah. Saya menyaksikan ucapan oleh Ted Pattison yang saya Syarikat telah squirreled pada pelayan yang datang ke menyedari masalah saya.

Dalam saya ADF, Saya sedang menyambung ke SQL pangkalan data seperti yang ditunjukkan:

            <Harta Nama="RdbCommandText" Jenis="System.String">
              <![CDATA[
                PILIH SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      NEGARA, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, BANDAR, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COUNTY, NEGERI, POS, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, SAMBUNGAN, PERKHIDMATAN FAKS, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG dari dbo.PS_CARRIER_ID_VW dengan (nolock)
                DI MANA
                  (SETID <> 'SAHAM') dan
                  (lebih rendah(CARRIER_ID) >= lebih rendah(@MinId)) dan
                  (lebih rendah(CARRIER_ID) <= lebih rendah(@ MaxId)) dan
                  (lebih rendah(DESCR) SUKA lebih rendah(@InputDescr))
                ]]>
            </Harta>

(I) adalah dibekalkan SQL itu daripada orang DBA dan aku diberi untuk memahami bahawa ia adalah satu khas pandangan mereka dicipta hanya untuk saya. Kekunci unik tiada adalah CARRIER_ID.

Inilah bug saya diperkenalkan:

      <Pengenalan>
        <Pengenalpastian Nama="CARRIER_ID" TypeName="System.String" />
        <Pengenalpastian Nama="DESCR" TypeName="System.String" /> 
</Pengenalan>

Tempat di sepanjang garisan, Saya telah berjaya mengelirukan diri sendiri ke atas makna <Pengenalan> dan ditambah DESCR walaupun ia tidak benar-benar sebuah label. Saya mengambil DESCR keluar daripada set pengenalan dan presto! Ia bekerja.

Saya harap ini dapat menyelamatkan kesedihan seseorang 🙂

Technorati Tags: , , ,