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

2 pemikiran untuk "Satu kesilapan runtime BDC menjelaskan

  1. Paul Galvin

    Pieter, probalby anda menyelesaikan ini sekarang, tetapi saya duga adalah bahawa ia akan berkaitan dengan definisi di bahagian belakang. Mungkin bidang SQL sendiri adalah terhad kepada 60 Somers mengatakan? Sesuatu seperti yang?

    Balas
  2. Pieter Veenstra

    Hi,

    Aku ada isu dengan BDC yang, dan saya tertanya-tanya jika anda boleh membantu dengan ini?

    Saya menggunakan dua bidang identifiier ( sebilangan dan bidang penerangan), bila-bila masa melebihi jumlah bilangan aksara 60 Saya mendapat ralat foollowing:

    Nilai teks tidak sah

    Medan teks mengandungi data tidak sah. Sila semak nilai dan cuba lagi.

    Adakah anda faham di mana ini had 60 watak-watak yang berasal dari? dan bagaimana untuk membaiki isu ini?

    Buat masa ini saya membataskan keterangan sedemikian dengan cara yang tidak melebihi jumlah bilangan aksara 60.

    Balas

Tinggalkan Jawapan

alamat e-mel anda tidak akan diterbitkan. Ruangan yang diperlukan ditanda *