Arkib Kategori: BDC

Tip Pantas: BDC ADF Version Nombor Adakah Kawan

Jika anda tangan-kod fail ADF dan melakukan banyak kod / import / ujian kitaran, menggunakan nombor versi untuk menjadikan hidup anda lebih mudah.

Saya tidak suka mengakuinya, tetapi sehingga minggu ini, Saya sentiasa menghapuskan ADF tersebut dan pengimportan semula itu. Ini akan memecahkan lajur data perniagaan saya dan membuat saya semula Kawat mereka. Semua tidak perlu.

Fail ini di bawah "ia adalah jelas apabila anda melihatnya".

Contoh:

<LobSystem
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Jenis="WebService" Versi="1.2.0.0" Nama="xyzzyDocumentReview" xmlns="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Tukar versi itu dan import dan lajur data perniagaan yang sedia ada menggunakan versi yang dikemaskini secara automatik dengan sebarang konfigurasi tambahan yang diperlukan.

</akhir>

Langgan ke blog saya.

Technorati Tags:

Penyelesaian: BDC Picker Rancangan Hanya Satu Column Of Results

Dalam usaha berterusan saya menyediakan satu kolum carian lebih kepada menggunakan BDC, Saya memukul dinding dengan pengutip BDC. Jika anda belum melihatnya, pengutip BDC adalah serupa dengan pengutip orang kecuali bahawa ia berfungsi dengan tiang jenis "data perniagaan".

Anda mengakses PEMILIH tersebut dengan klik pada ikon buku yang terbuka lajur data perniagaan seperti yang ditunjukkan:

imej

Imej di atas menunjukkan sebuah medan data perniagaan yang dikenali sebagai "Id dokumen induk". Medan yang disambung, melalui BDC, kepada perkhidmatan web. Perkhidmatan web pulangan dua kolum maklumat: Dokumen pengenalan dan tajuk. Tujuan perniagaan adalah untuk menyediakan sebuah "dokumen ini adalah berdasarkan" fungsi. Pengguna memilih "master" dokumen dan Bilakah mereka Simpan, penerima acara untuk menyalin meta data bidang dari tuan diselesaikan.

Secara lalai, pengutip BDC yang kelihatan seperti ini apabila saya mencari dokumen yang ID = "38":

clip_image002

Itulah yang berguna, tetapi tidak cukup baik. Orang tidak fikir dari segi ID, mereka fikir dari segi hakmilik dan/atau lain-lain data meta. Reservasi yang membolehkan anda untuk mencari di kolum lain (e.g. Title) tetapi tidak menunjukkan senarai sebenar tajuk-tajuk yang ia dijumpai, hanya DocId mereka adalah seperti yang ditunjukkan di sini:

clip_image002[1]

(Pukulan skrin yang tidak begitu besar kerana saya tidak memilih carian yang mengembalikan mana-mana keputusan yang sah, tetapi anda boleh lihat jika ia telah mendapati sesetengah keputusan, Ia hanya telah menunjukkan DocId yang, Tajuk tidak).

Saya mencari jawapan ini tinggi dan rendah dan gagal. Rakan saya, dengan kereta kebal Jonathan Bradshaw, telah dihadapi dan diselesaikan isu ini. Bilakah saya menjangkau kepadanya untuk bantuan, Dia menunjuk saya arah yang betul.

Konfigurasi reservasi yang menunjukkan beberapa kolum melalui "ShowInPicker" Hotel hebat di dalam ADF:

<Harta Nama="ShowInPicker" Jenis="System.Boolean">benar</Harta>

Dengan lebih terperinci:

  <!-- Title -->
  <TypeDescriptor TypeName="System.String" Nama="Title" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Title</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Hartanah>
      <Harta Nama="DisplayByDefault" Jenis="System.Boolean">benar</Harta>
      <Harta Nama="ShowInPicker" Jenis="System.Boolean">benar</Harta>
    </Hartanah>
  </TypeDescriptor>

Tatacara ini memperkenalkan satu masalah kecil. Sebaik sahaja anda menetapkan sekali, anda perlu menetapkan bagi setiap lajur yang anda mahu menunjukkan kepada. Dalam kes saya,, Pengutip BDC yang menunjukkan DocId secara lalai. Walau bagaimanapun, Sebaik sahaja saya menambah "ShowInPicker" untuk tajuk, DocId tidak lagi dipaparkan. Saya menyelesaikan yang dengan jelas menetapkan harta ShowInPicker untuk Doc ID.

Di sini adalah hasil:

imej

(Saya akan Terangkan odd-looking "168 – CamlSchema.xsd" pembinaan dalam sebuah posting blog masa depan. Secara ringkasnya, Ia adalah rentetan concatenated yang membolehkan untuk pengalaman pengguna yang sedikit lebih baik).

Kursus, Setelah entri blog ini ditulis., Saya hanya melakukan carian untuk "ShowInPicker" dan mendapati banyak hits, termasuk yang ini: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Ia menerangkan makna sesuatu sifat bersama-sama dengan beberapa lain BDC bagus.

</akhir>

Langgan ke blog saya!

Technorati Tags:

Penyelesaian untuk BDC ADF Kegagalan Import: “Ralat berikut telah berlaku:”

Saya sekali lagi kerajinan BDC ADF fail dengan tangan (supaya saya boleh membina saya "Mulakan rumput saya!" Saya) dan memukul kesilapan ini indah:

imej

"Permohonan definisi import gagal. Ralat berikut telah berlaku:"

Seperti yang anda lihat, ada kesilapan, tetapi … ia tidak akan memberitahu saya apa yang ia adalah.

Dalam kes saya,, isu ini ternyata bahawa saya telah bermula dengan ADF yang berfungsi untuk projek lain yang disambungkan ke pangkalan data dan melaksanakan SQL pertanyaan terhadap pandangan yang. Projek baru, Saya memanggil kaedah terakhir perkhidmatan web. Saya telah dilucutkan barangan khusus DB dan menambah barangan perkhidmatan web saya, tetapi gagal untuk mengemaskini dengan <LobSystem>dan atribut jenis. Aku beralih ke "WebService" dan saya gembira berpindah untuk ralat import yang lebih baru dan lebih menarik, yang dikendalikan masanya.

Inilah LobSystem yang salah:

<LobSystem
xmlns:xSi =http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation =http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Jenis = "pangkalan data"
Versi "1.0.0.0 =" Nama = "xyzzy"
xmlns ="
http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Ini adalah betul:

<LobSystem
xmlns:xSi =http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation =http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Jenis = "WebService"
Versi "1.0.0.0 =" Nama = "xyzzy"
xmlns ="
http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

</akhir>

Technorati Tags:

BDC Nampaknya Penggantian berdaya maju Untuk lookup

UPDATE: MSDN pengumuman ini mempunyai beberapa pemerhatian yang menarik dari JXJ berdasarkan beliau, terutamanya negatif, pengalaman akan turun jalan ini: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

Kita mempunyai satu senario perniagaan yang di mana kita perlu mengaitkan dua dokumen Perpustakaan melalui umum "ID dokumen" bidang.

Kita sering menggunakan sebuah medan carian untuk melaksanakan pautan seperti ini. Terdapat beberapa kelemahan untuk kolum carian, tiga daripada:

  1. Hanya satu kolum dari pustaka lookup lookup boleh dikaitkan.
  2. Prestasi: Perpustakaan sumber boleh mengandungi beratus-ratus penyertaan. Itulah terlalu banyak masukan di dalam carian.
  3. Carian: Terdapat tiada carian bersepadu. Saya tidak bermaksud dalam erti kata MOSS Cari, tetapi tiada cara untuk mencari / menapis pada lajur pelbagai dari pustaka dokumen sumber dan mencari link yang anda mahu.

Disokong oleh BDC, kita boleh menggunakan satu "data perniagaan" jenis kolum dan ia menyediakan carian anda dan bahkan membolehkan beberapa lajur data untuk muncul dalam senarai pemandangan.

Saya telah mempunyai beberapa kejayaan yang awal dengan pendekatan ini dan merancang untuk menulis lebih lanjut mengenainya.

Jika anda telah bekerja sudut ini sebelum dan mempunyai apa-apa komen, Sila kongsi!

</akhir>

Technorati Tags:

Penyelesaian untuk Ralat Import BDC: “Tidak dapat memuatkan Jenis diterangkan oleh TypeName TypeDescriptor ini …”

Saya telah bekerja dengan BDC hari ini, pengkodan fail ADF dengan tangan dan menjana diri saya beberapa kesilapan. Satu kesilapan itu:

Definisi Permohonan import gagal. Ralat berikut telah berlaku: Tidak dapat memuatkan Jenis diterangkan oleh TypeName TypeDescriptor ini. Nama parameter: Ralat typeName ditemui pada atau sebelum Line: '35’ dan Kedudukan: '20'.

MOSS dipaparkan kesilapan ini apabila saya cuba untuk mengimport ADF fail XML.

Saya mengkaji internets dan mendapati bahawa saya telah merujuk nama contoh Lob (daripada <LobSystemInstance>) dalam saya <TypeDescriptor> nod apabila saya perlu dirujuk nama Lob itu sendiri (daripada <LobSystem>).

Salah:

<TypeDescriptor TypeName="Conchango.KeyValue, Lob Nama instance" Nama = "KeyValue">

Membetulkan:

<TypeDescriptor TypeName="Conchango.KeyValue, Nama Lob" Nama = "KeyValue">

Harapan yang satu ini menjimatkan seseorang satu jam atau dua masa.

</akhir>

Langgan ke blog saya!

Technorati Tags:

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: , , ,

BDC ADF dan rakan anda, CDATA

Saya dapati beberapa janggal dan tidak perlu tangan pengekodan RdbCommandText dalam beberapa contoh (termasuk dokumentasi MSDN).

Saya ingin menunjukkan kepada pendatang baru untuk BDC bahawa perintah boleh dibalut dalam tag CDATA di semulajadi"mereka" Borang. Jadi, pembinaan ini janggal:

<Harta Nama="RdbCommandText" Jenis="System.String">
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement dari dbo.MCRS_SETTLEMENT
DI MANA (id &gt;= @ MinID) DAN (id &lt;= @ MaxId)
</Harta>

boleh diwakili lebih baik cara ini:

<Harta Nama="RdbCommandText" Jenis="System.String">
<![CDATA[
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement dari dbo.MCRS_SETTLEMENT
DI MANA (id >= @ MinID) DAN (id <= @ MaxId)
]]>
</Harta>

</akhir>

Contoh BDC

Pengenalan BDC

Contoh fungsi: BDC ADF yang menghubungkan kepada pangkalan data SQL dengan id pengguna dan kata laluan tertanam

Saya perlu untuk Kawat sehingga MOSS SQL pangkalan data melalui BDC. Untuk tujuan pengujian/POC, Saya mahu ke SQL akaun id pengguna dan kata laluan dalam ADF dalam. Bermula dengan template ini (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Saya telah mencipta satu ADF yang menghubungkan kepada SQL server tertentu contoh dan log masuk dengan id pengguna dan kata laluan tertentu dan ditunjukkan dalam coretan ini:

  <LobSystemInstances>
    <LobSystemInstance Nama="ClaimsInstance">
      <Hartanah>
        <Harta Nama="AuthenticationMode" Jenis="System.String">Passthrough</Harta>
        <Harta Nama="DatabaseAccessProvider" Jenis="System.String">SqlServer</Harta>
        <Harta Nama="RdbConnection Sumber Data" Jenis="System.String">server sebenar  contoh sebenar</Harta>
        <Harta Nama="RdbConnection katalog Awal" Jenis="System.String">Katalog awal sebenar</Harta>
        <Harta Nama="RdbConnection Bersepadu Keselamatan" Jenis="System.String">SSPI</Harta>
        <Harta Nama="RdbConnection Pengumpulan" Jenis="System.String">palsu</Harta>

        <!-- Ini adalah nilai utama: -->
        <Harta Nama="ID Pengguna RdbConnection" Jenis="System.String">1ID Pengguna ctual</Harta>
        <Harta Nama="RdbConnection Kata" Jenis="System.String">Kata laluan sebenar</Harta>
        <Harta Nama="Trusted_Connection RdbConnection" Jenis="System.String">palsu</Harta>

      </Hartanah>
    </LobSystemInstance>
  </LobSystemInstances>

Ia bukan satu amalan terbaik, tetapi ia adalah berguna untuk konfigurasi cepat dan mudah untuk ujian. Ini menghairankan sukar untuk memikirkan. Saya tidak pernah menjumpai sebuah contoh yang praktikal dengan kata kunci carian:

  • ADF tertanam id pengguna dan kata laluan
  • menerapkan id pengguna dan kata laluan dalam ADF
  • menerapkan id pengguna dan kata laluan dalam ADF BDC
  • SharePoint BDC primer
  • SharePoint embed id pengguna dan kata laluan dalam ADF

</akhir>

Langgan ke blog saya.