Arsip Kategori: BDC

Quick Tip: Nomor versi BDC ADF adalah teman Anda

Jika Anda sedang tangan-coding ADF file dan melakukan banyak kode/impor/tes siklus, menggunakan nomor versi untuk membuat hidup Anda lebih mudah.

Aku benci mengakuinya, tapi sampai minggu ini, Aku selalu menghapus ADF dan kembali mengimpor. Ini akan menghancurkan kolom data bisnis saya dan membuat saya kembali kawat mereka. Semua tidak perlu.

File ini di bawah "sangat jelas sekali 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">

Mengubah bahwa versi dan re-import dan kolom data bisnis yang ada menggunakan versi update secara otomatis dengan tidak ada konfigurasi tambahan yang diperlukan.

</akhir>

Berlangganan ke blog saya.

Technorati Tags:

Solusi: BDC Picker menunjukkan hanya satu kolom hasil

Dalam upaya terus-menerus saya memberikan kolom lookup lebih berguna menggunakan BDC, Aku memukul dinding dengan BDC picker. Jika Anda belum melihatnya, BDC picker mirip dengan pemetik orang kecuali bahwa ia bekerja dengan kolom jenis "data bisnis".

Anda mengakses picker dengan mengklik ikon buku terbuka kolom data bisnis yang seperti yang ditunjukkan:

gambar

Gambar di atas menunjukkan kolom data bisnis yang disebut "Master dokumen Id". Kolom yang terhubung, melalui BDC, untuk layanan web. Layanan web kembali dua kolom informasi: Dokumen ID dan judul. Tujuan bisnis di sini adalah untuk memberikan "dokumen ini didasarkan pada" fungsi. Pengguna memilih suatu "master" dokumen dan ketika mereka menyelamatkan, acara penerima salinan kolom data meta dari master direferensikan.

Secara default, BDC picker seperti ini ketika saya mencari dokumen yang ID = "38":

clip_image002

Yang sangat membantu, tetapi tidak cukup baik. Orang tidak berpikir dalam hal id, mereka berpikir dalam judul dan/atau data meta lain. Picker memungkinkan Anda untuk mencari di kolom lain (misalnya. Judul) tapi tidak akan menunjukkan daftar aktual judul itu ditemukan, hanya mereka DocId's seperti yang ditunjukkan di sini:

clip_image002[1]

(Screen shot tidak begitu besar karena saya tidak memilih pencarian yang mengembalikan hasil apapun berlaku, tetapi Anda dapat melihat bahwa jika mereka telah menemukan beberapa hasil, itu hanya akan ditampilkan DocId's, tidak judul).

Saya mencari tinggi dan rendah untuk jawaban untuk ini dan gagal. Rekan saya, mulia Jonathan Bradshaw, telah dihadapi dan memecahkan masalah ini. Ketika aku mengulurkan tangan kepadanya untuk bantuan, ia menunjuk saya ke arah yang benar.

Mengkonfigurasi pemetik untuk menunjukkan beberapa kolom melalui "ShowInPicker" properti di ADF:

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

Lebih detail:

  <!-- Judul -->
  <TypeDescriptor TypeName="System.string" Nama="Judul" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Judul</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Properti>
      <Properti Nama="DisplayByDefault" Jenis="System.Boolean">benar</Properti>
      <Properti Nama="ShowInPicker" Jenis="System.Boolean">benar</Properti>
    </Properti>
  </TypeDescriptor>

Menyeting properti ini memperkenalkan masalah kecil. Segera setelah Anda mengatur sekali, Anda perlu untuk mengatur untuk setiap kolom yang ingin Anda Tampilkan. Dalam kasus saya, BDC picker menunjukkan DocId secara default. Namun, begitu saya menambahkan "ShowInPicker" judul, DocId tidak lagi ditampilkan. Aku memecahkan yang dengan secara eksplisit menetapkan properti ShowInPicker untuk Doc ID.

Berikut adalah hasil:

gambar

(Saya akan menjelaskan tampak "168 – CamlSchema.xsd" konstruksi dalam posting blog masa depan. Singkatnya, itu adalah sebuah string dipenggal yang memungkinkan untuk pengalaman pengguna yang sedikit lebih baik).

Tentu saja, Setelah menulis entri blog ini, Saya hanya melakukan pencarian untuk "ShowInPicker" dan menemukan banyak hits, termasuk yang satu ini: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Ini menjelaskan arti dari properti itu bersama dengan beberapa lain BDC bagus.

</akhir>

Berlangganan ke blog saya!

Technorati Tags:

Solusi gagal impor BDC ADF: “Terjadi kesalahan berikut:”

Saya sekali lagi kerajinan BDC ADF file dengan tangan (sehingga dapat membangun saya "turun halaman saya!" Cred) dan memukul kesalahan ini indah:

gambar

"Impor definisi aplikasi gagal. Terjadi kesalahan berikut:"

Seperti Anda dapat melihat, ada kesalahan, Tapi … itu tidak akan mengatakan apa.

Dalam kasus saya, masalah ternyata bahwa saya telah mulai dengan ADF fungsional untuk proyek berbeda yang terhubung ke database dan dieksekusi SQL query terhadap pandangan. Dalam proyek baru ini, Aku memanggil metode pada layanan web. Aku sudah dilucuti keluar barang-barang tertentu DB dan menambahkan barangku layanan web, tetapi gagal untuk memperbarui <LobSystem>yang jenis atribut. Saya beralih ke "WebService" dan saya gembira pindah ke lebih menarik dan yang lebih baru impor kesalahan, yang ditangani pada waktunya.

Berikut adalah LobSystem salah:

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

Ini benar:

<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 tampaknya pengganti yang layak untuk pencarian

UPDATE: Posting MSDN ini memiliki beberapa pengamatan yang menarik dari JXJ berdasarkan nya, terutama negatif, pengalaman akan turun jalan ini: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

Kami memiliki bisnis skenario di mana kita perlu untuk menghubungkan dua dokumen perpustakaan melalui umum "dokumen ID" lapangan.

Kita sering menggunakan kolom pencarian untuk mengimplementasikan link seperti ini. Ada beberapa kelemahan untuk kolom pencarian, tiga diantaranya yang:

  1. Hanya satu kolom dari perpustakaan lookup lookup bisa dihubungkan.
  2. Kinerja: Perpustakaan sumber bisa berisi ratusan entri. Itu adalah terlalu banyak entri dalam pencarian.
  3. Pencarian: Ada tidak ada pencarian terintegrasi. Saya tidak bermaksud dalam arti MOSS Cari, tapi tidak ada cara untuk mencari / menyaring beberapa kolom dari sumber dokumen perpustakaan dan menemukan link yang Anda inginkan.

Didukung oleh BDC, kita dapat menggunakan data bisnis"" jenis kolom dan menyediakan penelusuran dan bahkan memungkinkan beberapa kolom data untuk muncul dalam daftar dilihat.

Saya telah memiliki beberapa keberhasilan awal dengan pendekatan ini dan berencana untuk menulis lebih banyak tentang hal itu.

Jika Anda telah bekerja sudut ini sebelum dan memiliki komentar, Silakan berbagi!

</akhir>

Technorati Tags:

Solusi untuk BDC impor kesalahan: “Tidak dapat memuat jenis dijelaskan oleh TypeDescriptor di TypeName …”

Saya telah bekerja dengan BDC hari ini, pengkodean file ADF dengan tangan dan menghasilkan sendiri beberapa kesalahan. Satu kesalahan tersebut:

Aplikasi definisi impor gagal. Terjadi kesalahan berikut: Tidak dapat memuat jenis dijelaskan oleh TypeDescriptor di TypeName. Nama parameter: typeName galat ini ditemui di atau hanya sebelum baris: ' 35’ dan posisi: '20'.

MOSS ditampilkan kesalahan ini ketika saya mencoba untuk mengimpor file ADF XML.

Aku meneliti Internets dan menemukan bahwa saya adalah referensi nama contoh LOB (dari <LobSystemInstance>) dalam saya <TypeDescriptor> node ketika saya harus dirujuk nama LOB itu sendiri (dari <LobSystem>).

Salah:

<TypeDescriptor TypeName="Conchango.KeyValue, Nama contoh LOB" Nama = "KeyValue">

Memperbaiki:

<TypeDescriptor TypeName="Conchango.KeyValue, LOB nama" Nama = "KeyValue">

Berharap ini menghemat seseorang satu jam atau dua waktu.

</akhir>

Berlangganan ke blog saya!

Technorati Tags:

BDC runtime error yang dijelaskan

Aku menyebabkan kesalahan BDC minggu ini yang terwujud pada user interface dan dalam 12 sarang log saat runtime.

Pertama, ini muncul dalam antarmuka pengguna:

Tidak dapat menemukan bidang untuk memasukkan semua nilai-nilai pengenal untuk benar melaksanakan SpecificFinder MethodInstance dengan nama … Memastikan parameter input memiliki TypeDescriptors yang terkait dengan setiap pengenal yang didefinisikan untuk entitas ini.

Berikut adalah screen shot:

clip_image001

Bisa juga menyebabkan pesan ini tampil di 12 sarang log akan (menggunakan high-tech-don't-try-this-at-home dipatenkan saya "kesalahan misterius" metode):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C Data bisnis SharePoint Portal Server 6q4x tinggi pengecualian di BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Nilai pengenal ”, jenis ”, tidak sah. Diharapkan nilai pengenal tipe 'System.String'. di Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objek[] subIdentifierValues, LobSystemInstance lobSystemInstance) di Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entitas entitas, Objek[] userValues, LobSystemInstance lobSystemInstance) di Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Lihat desiredView) di Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() di Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Aku mencari di sekitar dan menemukan beberapa petunjuk di MSDN forum, tetapi mereka tidak cukup bagi saya untuk memahami apa yang saya lakukan salah. Saya menyaksikan webcast oleh Sir Alex Ferguson Ted yang saya perusahaan memiliki squirreled pergi di server dan datang untuk menyadari masalah saya.

Di ADF saya, Saya menghubungkan ke SQL database seperti yang ditunjukkan:

            <Properti 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, KOTA, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COUNTY, NEGARA, POS, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEPON, EKSTENSI, FAKS, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG dari dbo.PS_CARRIER_ID_VW dengan (nolock)
                MANA
                  (SETID <> 'BERBAGI') dan
                  (lebih rendah(CARRIER_ID) >= bawah(@MinId)) dan
                  (lebih rendah(CARRIER_ID) <= bawah(@MaxId)) dan
                  (lebih rendah(DESCR) SEPERTI lebih rendah(@InputDescr))
                ]]>
            </Properti>

Saya diberikan SQL DBA orang dan saya diberikan untuk memahami bahwa khusus Lihat mereka diciptakan hanya untukku. Kunci unik ada adalah CARRIER_ID.

Berikut ini adalah bug yang saya diperkenalkan:

      <Pengidentifikasi>
        <Pengenal Nama="CARRIER_ID" TypeName="System.string" />
        <Pengenal Nama="DESCR" TypeName="System.string" /> 
</Pengidentifikasi>

Di suatu tempat di sepanjang garis, Saya telah berhasil untuk membingungkan diriku atas makna <Pengidentifikasi> dan menambahkan DESCR bahkan meskipun tidak benar-benar sebuah identifier. Aku mengambil DESCR dari pengidentifikasi set dan presto! Semuanya bekerja.

I hope this saves someone some grief 🙂

Technorati Tags: , , ,

BDC ADF dan teman Anda, CDATA

Saya perhatikan beberapa canggung dan tidak perlu tangan-penyandian RdbCommandText dalam beberapa contoh (termasuk MSDN dokumentasi).

Aku ingin menunjukkan kepada pendatang baru BDC bahwa perintah dapat dibungkus dalam tag CDATA di mereka "alam" bentuk. Jadi, Konstruksi ini canggung:

<Properti Nama="RdbCommandText" Jenis="System.string">
Pilih dbo.MCRS_SETTLEMENT.id, DBO.MCRS_SETTLEMENT.Settlement dari dbo.MCRS_SETTLEMENT
MANA (id &gt;= @ MinId) DAN (id &lt;= @MaxId)
</Properti>

dapat lebih baik diwakili dengan cara ini:

<Properti Nama="RdbCommandText" Jenis="System.string">
<![CDATA[
Pilih dbo.MCRS_SETTLEMENT.id, DBO.MCRS_SETTLEMENT.Settlement dari dbo.MCRS_SETTLEMENT
MANA (id >= @ MinId) DAN (id <= @MaxId)
]]>
</Properti>

</akhir>

BDC Primer

Intro untuk BDC

Contoh fungsional: BDC ADF yang menghubungkan ke SQL database dengan tertanam user id dan password

Saya perlu untuk kawat menaiki MOSS ke SQL database melalui BDC. Untuk tujuan pengujian POC, Aku ingin embed SQL akun user id dan password di ADF. Dimulai dengan template ini (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Saya membuat ADF yang menghubungkan ke server SQL tertentu misalnya dan log in dengan id pengguna dan sandi dan ditampilkan dalam potongan ini:

  <LobSystemInstances>
    <LobSystemInstance Nama="ClaimsInstance">
      <Properti>
        <Properti Nama="AuthenticationMode" Jenis="System.string">PassThrough</Properti>
        <Properti Nama="DatabaseAccessProvider" Jenis="System.string">SqlServer</Properti>
        <Properti Nama="Sumber RdbConnection Data" Jenis="System.string">contoh aktual serveractual</Properti>
        <Properti Nama="RdbConnection awal katalog" Jenis="System.string">sebenarnya awal katalog</Properti>
        <Properti Nama="RdbConnection terintegrasi keamanan" Jenis="System.string">SSPI</Properti>
        <Properti Nama="RdbConnection Pooling" Jenis="System.string">palsu</Properti>

        <!-- Ini adalah nilai-nilai kunci: -->
        <Properti Nama="RdbConnection User ID" Jenis="System.string">actual User ID</Properti>
        <Properti Nama="RdbConnection Password" Jenis="System.string">sebenarnya Password</Properti>
        <Properti Nama="RdbConnection Trusted_Connection" Jenis="System.string">palsu</Properti>

      </Properti>
    </LobSystemInstance>
  </LobSystemInstances>

Ianya bukan praktek terbaik, tetapi hal ini berguna untuk konfigurasi yang mudah dan cepat untuk pengujian. Ini adalah sangat sulit untuk mengetahui. Saya pernah menemukan contoh fungsional dengan kata kunci pencarian:

  • ADF tertanam userid dan password
  • Masukkan id pengguna dan sandi dalam adf
  • Masukkan id pengguna dan sandi dalam adf bdc
  • SharePoint bdc primer
  • SharePoint embed id pengguna dan sandi di adf

</akhir>

Berlangganan ke blog saya.