بایگانی دسته بندی: BDC

نکته سریع: تعداد نسخه ADF BDC دوست شما

اگر شما برنامه نویسی فایل ADF و انجام تعداد زیادی از کد / واردات / تست چرخه, use the version number to make your life easier.

من نفرت را به آن اعتراف, اما تا این هفته, I was always deleting the ADF and re-importing it. This would break my business data columns and make me re-wire them. All unnecessary.

File this under "it’s obvious once you see it".

مثال:

<LobSystem
xmlns:XSI="HTTP://www.w3.org/2001/XMLSchema-instance" XSI:schemaLocation="HTTP://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" نوع="WebService" نسخه="1.2.0.0" نام="xyzzyDocumentReview" xmlns="HTTP://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

تغییر آن نسخه و واردات مجدد و کسب و کار موجود در ستون داده ها با استفاده از نسخه به روز شده به طور خودکار با هیچ تنظیمات اضافی مورد نیاز.

</پایان>

مشترک شدن در وبلاگ من.

برچسب ها:

راه حل: ارسال ها BDC فقط یک ستون از نتایج را نشان می دهد

در من تلاش در حال ارائه ستون مراجعه مفید تر با استفاده از BDC, I hit a wall with the BDC picker. If you haven’t see it, the BDC picker is similar to a people picker except that it works with columns of type "business data".

به جمع دسترسی داشته باشید شما با کلیک کردن بر روی آیکون کتاب باز از یک ستون اطلاعات کسب و کار به عنوان نشان داده شده است:

تصویر

The above image shows a business data column called "Master Document Id". That column is connected, از طریق BDC, to a web service. The web service returns two columns of information: Document ID and Title. The business purpose here is to provide a "this document is based on" تابع. Users select a "master" سند و هنگامی که آنها را ذخیره کنید, یک رویداد گیرنده کپی زمینه های متا داده ها از استاد اشاره.

به طور پیش فرض, the BDC picker looks like this when I search for a document whose ID = "38":

clip_image002

مفید, but not good enough. People don’t think in terms of IDs, they think in terms of titles and/or other meta data. The picker allows you to search on other columns (e.g. عنوان) اما لیستی واقعی از عناوین آن را نشان نمی دهد, فقط DocId خود را همانطور که در اینجا نشان داده شده است:

clip_image002[1]

(ضربه روی صفحه نمایش خیلی بزرگ نیست چرا که من جستجو که هیچ نتایج معتبر می گرداند انتخاب نشده, اما شما می توانید ببینید که اگر آن را برخی از نتایج پیدا کرده بود, آن را فقط نشان داده DocId, نه عناوین).

I searched high and low for the answer to this and failed. My colleague, ارجمند جاناتان بنوا, had faced and solved this issue. When I reached out to him for help, او به من در مسیر درست اشاره کرد.

Configure the picker to show multiple columns via the "ShowInPicker" ملک در ADF:

<ویژگی نام="ShowInPicker" نوع="System.Boolean">درست</ویژگی>

در جزئیات بیشتر:

  <!-- عنوان -->
  <TypeDescriptor TypeName="System.String" نام="عنوان" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">عنوان</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <خواص>
      <ویژگی نام="DisplayByDefault" نوع="System.Boolean">درست</ویژگی>
      <ویژگی نام="ShowInPicker" نوع="System.Boolean">درست</ویژگی>
    </خواص>
  </TypeDescriptor>

Setting this property does introduce a minor problem. As soon as you set it once, you need to set it for every column you want to show. در مورد من, BDC picker showed DocId by default. اما, once I added "ShowInPicker" به عنوان, DocId no longer displayed. I solved that by explicitly setting the ShowInPicker property for Doc ID.

در اینجا نتیجه است:

تصویر

(I’ll explain the odd-looking "168 – CamlSchema.xsd" construction in a future blog post. In short, این یک رشته متنی است که اجازه می دهد تا برای یک تجربه کمی بهتر کاربر).

البته, به نوشته این وبلاگ است, I just did a search for "ShowInPicker" و بازدید های متعدد, از جمله این یکی: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. It explains the meaning of that property along with some other good BDC stuff.

</پایان>

مشترک شدن در وبلاگ من!

برچسب ها:

راه حل برای عدم واردات ADF BDC: “خطای زیر رخ داده است:”

من یک بار دیگر تهیه شد و BDC فایل ADF با دست (so that I can build up my "get off my lawn!" من) و ضربه زدن به این خطا دوست داشتنی:

تصویر

"Application definition import failed. خطای زیر رخ داده است:"

همانطور که می بینید, یک خطا وجود دارد, اما … آن را نمی خواهید به من بگویید که آنچه در آن است.

در مورد من, the issue turned out that I had started off with a functional ADF for a different project that connected to a database and executed a SQL query against a view. In this new project, I am calling a method on a web service. I had stripped out the DB specific stuff and added my web service stuff, but failed to update the <LobSystem>’s Type attribute. I switched it to "WebService" and I happily moved on to newer and more exciting import errors, which were handled in due course.

Here is the wrong LobSystem:

<LobSystem
xmlns:xsi=HTTP://www.w3.org/2001/XMLSchema-instance
XSI:schemaLocation=HTTP://schemas.microsoft.com/office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Type="Database"
Version="1.0.0.0" Name="xyzzy"
xmlns="
HTTP://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

This is correct:

<LobSystem
xmlns:xsi=HTTP://www.w3.org/2001/XMLSchema-instance
XSI:schemaLocation=HTTP://schemas.microsoft.com/office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Type="WebService"
Version="1.0.0.0" Name="xyzzy"
xmlns="
HTTP://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">

</پایان>

برچسب ها:

BDC یک جایگزین مناسب رشد و ترقی را برای این متغیر به نظر می رسد

تکمیلی: این MSDN ارسال برخی از مشاهدات جالب از JXJ بر اساس آن, عمدتا منفی, تجارب پایین رفتن این مسیر: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

We have a business scenario where we need to link two documents libraries via a common "document ID" میدان.

We often use a lookup column to implements links like this. There are several drawbacks to lookup columns, three of which are:

  1. Only one column from the lookup lookup library can be linked.
  2. Performance: The source library could contain hundreds of entries. That’s too many entries in the lookup.
  3. جستجو: There is no integrated search. I don’t mean in the MOSS sense of search, but there’s no way to search / filter on multiple columns from the source document library and locate the link you want.

Backed by BDC, we can use a "business data" column type and it provides a superior search and even allows multiple columns of data to appear in list views.

I’ve had some preliminary success with this approach and plan to write more about it.

If you’ve worked this angle before and have any comments, please share!

</پایان>

برچسب ها:

راه حل به خطا واردات BDC: “می تواند نوع شرح داده شده توسط TypeName TypeDescriptor بار نیست …”

من کار با امروز BDC, coding ADF files by hand and generating myself some errors. One such error:

برنامه واردات تعریف شکست خورد. خطای زیر رخ داده است: می تواند نوع شرح داده شده توسط TypeName TypeDescriptor بار نیست. نام پارامتر: typeName خطا یا درست قبل از خط مواجه شد: '35’ و موقعیت: ’20’.

MOSS displayed this error when I tried to import the ADF XML file.

I researched the Internets and found that I was referencing the LOB instance name (from the <LobSystemInstance>) in my <TypeDescriptor> node when I should have referenced the LOB name itself (از <LobSystem>).

اشتباه:

<TypeDescriptor TypeName="Conchango.KeyValue, LOB Instance Name" Name="KeyValue">

Correct:

<TypeDescriptor TypeName="Conchango.KeyValue, LOB Name" Name="KeyValue">

Hope this one saves someone an hour or two of time.

</پایان>

مشترک شدن در وبلاگ من!

برچسب ها:

BDC خطا در زمان اجرا توضیح داد

من باعث یک خطای BDC در این هفته است که خود را در رابط کاربری و آشکار 12 کندو ورود به سیستم در زمان اجرا.

اولین, این به نظر می رسد در رابط کاربر:

نمی تواند پیدا زمینه به قرار دادن تمام ارزشهای شناسه به درستی اجرا SpecificFinder MethodInstance با نام و نام خانوادگی … اطمینان حاصل کنید که پارامترهای ورودی TypeDescriptors مرتبط با هر شناسه تعریف شده برای این نهاد.

در اینجا یک شات صفحه نمایش:

clip_image001

من هم می تواند باعث این ارسال در ظاهر می شود 12 ورود به سیستم کندو در اراده (using my patented high-tech-don’t-try-this-at-home "mysterious errors" روش):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: مقدار شناسه ”, از نوع ”, نامعتبر است. Expected Identifier value of Type ‘System.String’. در Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(هدف[] subIdentifierValues, LobSystemInstance lobSystemInstance) در Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(نهاد نهاد, هدف[] userValues, LobSystemInstance lobSystemInstance) در Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(نمایش desiredView) در Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() در Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

من به اطراف جستجو و برخی از سرنخ ها در MSDN انجمن, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by تد Pattison که من شرکت دور در سرور squirreled است و متوجه مشکل من.

در ADF من, من در اتصال به پایگاه داده SQL به عنوان نشان داده شده است:

            <ویژگی نام="RdbCommandText" نوع="System.String">
              <![CDATA[
                را انتخاب کنید
                      , CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      کشور, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, شهر, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      شهرستان, دولت, پستی, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, گوشی تلفن همراه, EXTENSION, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG
                 (nolock)
                مکانی که در آن
                  (SETID <> سهم ') و
                  (کاهش(CARRIER_ID) >= پایین(@ MinId،)) و
                  (کاهش(CARRIER_ID) <= پایین(@ MaxId)) و
                  (کاهش(DESCR) LIKE پایین تر(@ InputDescr،))
                ]]>
            </ویژگی>

من که SQL از یک شخص DBA ارائه شد و به من داده ام به درک که آن را ویژه view they created just for me. The unique key there is CARRIER_ID.

در اینجا اشکال من معرفی:

      <شناسه>
        <شناسه نام="CARRIER_ID" TypeName="System.String" />
        <شناسه نام="DESCR" TypeName="System.String" /> 
</شناسه>

جایی در امتداد خط, من موفق شده بود تا خود را بیش از معنای اشتباه <شناسه> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! این همه کار می کرد.

امیدوارم این یکی از غم و اندوه را نجات دهد 🙂

برچسب ها: , , ,

BDC ADF و به دوستان خود, CDATA

من برخی از بی دست و پا و غیر ضروری دست کدگذاری از RdbCommandText را در برخی از نمونه های مورد توجه (از جمله مستندات MSDN).

من می خواستم به این نکته اشاره به تازه واردان به BDC که دستورات را می توان در داخل یک تگ CDATA در خود را "طبیعی پیچیده" form. پس, این ساخت و ساز بی دست و پا:

<ویژگی نام="RdbCommandText" نوع="System.String">
انتخاب dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement از dbo.MCRS_SETTLEMENT
مکانی که در آن (شناسایی &پیداکنید;= @ MinID) و (شناسایی &LT;= @ MaxId)
</ویژگی>

بهتر می تواند به نمایندگی از این راه:

<ویژگی نام="RdbCommandText" نوع="System.String">
<![CDATA[
انتخاب dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement از dbo.MCRS_SETTLEMENT
مکانی که در آن (شناسایی >= @ MinID) و (شناسایی <= @ MaxId)
]]>
</ویژگی>

</پایان>

به عنوان مثال BDC

معرفی به BDC

به عنوان مثال تابعی: BDC ADF که برای اتصال به پایگاه داده SQL با شناسه کاربری و رمز عبور تعبیه شده

I needed to wire up MOSS to a SQL database via BDC. For testing/POC purposes, I wanted to embed the SQL account user id and password in the ADF. Starting with this template (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), I created an ADF that connects to a particular SQL server instance and logs in with a specific user id and password and shown in this snippet:

  <LobSystemInstances>
    <LobSystemInstance نام="ClaimsInstance">
      <خواص>
        <ویژگی نام="AuthenticationMode" نوع="System.String">PassThrough</ویژگی>
        <ویژگی نام="DatabaseAccessProvider" نوع="System.String">SqlServer</ویژگی>
        <ویژگی نام="RdbConnection Data Source" نوع="System.String">actual server\actual instance</ویژگی>
        <ویژگی نام="RdbConnection Initial Catalog" نوع="System.String">actual initial catalog</ویژگی>
        <ویژگی نام="RdbConnection Integrated Security" نوع="System.String">SSPI</ویژگی>
        <ویژگی نام="RdbConnection Pooling" نوع="System.String">غلط</ویژگی>

        <!-- These are the key values: -->
        <ویژگی نام="RdbConnection User ID" نوع="System.String">actual User ID</ویژگی>
        <ویژگی نام="RdbConnection Password" نوع="System.String">actual Password</ویژگی>
        <ویژگی نام="RdbConnection Trusted_Connection" نوع="System.String">غلط</ویژگی>

      </خواص>
    </LobSystemInstance>
  </LobSystemInstances>

It is not a best practice, but it’s useful for a quick and simple configuration for testing. This was surprisingly difficult to figure out. I never found a functional example with search keywords:

  • adf embedded userid and password
  • embed user id and password in adf
  • embed user id and password in adf bdc
  • sharepoint bdc primer
  • sharepoint embed user id and password in adf

</پایان>

مشترک شدن در وبلاگ من.