Category Archives: BDC

দ্রুত টিপ: BDC ADF সংস্করণ নাম্বার আপনার বন্ধু

আপনি যদি 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">

যে সংস্করণ এবং পুনরায় ইম্পোর্ট পরিবর্তন এবং বিদ্যমান ব্যবসায়িক তথ্য কলামের কোন অতিরিক্ত কনফিগারেশন প্রয়োজন সঙ্গে স্বয়ংক্রিয়ভাবে আপডেট করা সংস্করণ ব্যবহার করে.

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.

Technorati বিভাগ:

সমাধান: BDC বাছাইকারি ফলাফল শুধুমাত্র একটি কলাম প্রদর্শন

In my on-going attempts at providing a more useful lookup column using 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".

You access the picker by clicking on the open book icon of a business data column as shown:

ইমেজ

The above image shows a business data column called "Master Document Id". That column is connected, via 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" document and when they save, an event receiver copies meta data fields from the referenced master.

ডিফল্টরূপে, the BDC picker looks like this when I search for a document whose ID = "38":

clip_image002

That’s helpful, 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. শিরোনাম) but won’t show the actual list of titles it found, just their DocId’s as shown here:

clip_image002[1]

(The screen shot isn’t so great because I didn’t pick a search that returns any valid results, but you can see that if it had found some results, it would only have shown DocId’s, not titles).

I searched high and low for the answer to this and failed. আমার সহকর্মী, the venerable Jonathan Bradshaw, had faced and solved this issue. When I reached out to him for help, he pointed me in the right direction.

Configure the picker to show multiple columns via the "ShowInPicker" property in the ADF:

<সম্পত্তি নাম="ShowInPicker" প্রকার="System.Boolean">সত্য</সম্পত্তি>

In more detail:

  <!-- শিরোনাম -->
  <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" to Title, DocId no longer displayed. I solved that by explicitly setting the ShowInPicker property for Doc ID.

Here is the result:

ইমেজ

(I’ll explain the odd-looking "168 – CamlSchema.xsd" construction in a future blog post. সংক্ষেপে, it’s a concatenated string that allows for a slightly better user experience).

অবশ্যই, having written this blog entry, I just did a search for "ShowInPicker" and found numerous hits, including this one: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. It explains the meaning of that property along with some other good BDC stuff.

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন!

Technorati বিভাগ:

BDC ADF আমদানি ব্যর্থ সমাধান: “নিম্নলিখিত ত্রুটি ঘটেছে:”

আমি আবার ছিল হাতে BDC ADF ফাইল হস্তশিল্প (যাতে আমি গড়িয়া তোলা যাবে আমার "আমার বনভূমি নামবো!" আমি) এবং আঘাত এই নধর ত্রুটি:

ইমেজ

"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, কিন্তু আপডেট করতে ব্যর্থ <LobSystem>’s Type attribute. I switched it to "WebService" এবং সুখে আমি নতুন এবং আরও উত্তেজনাপূর্ণ ইম্পোর্ট ত্রুটি থেকে সরানো উপর, যা নিয়মানুসারে পরিচালনা করা হয়.

এখানে ভুল 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">

এটি সঠিক:

<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">

</শেষ>

Technorati বিভাগ:

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, যেগুলো তিনটি:

  1. Only one column from the lookup lookup library can be linked.
  2. সম্পাদন: 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, কিন্তু কোন উপায় অনুসন্ধান আছে / উৎস নথি লাইব্রেরি থেকে একাধিক কলাম উপর পরিশোধক এবং আপনি যে লিংক চাই সনাক্ত.

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.

আমি কিছু এই পদ্ধতির সঙ্গে প্রাথমিক সাফল্য করেছি এবং এটি সম্পর্কে আরও লিখুন পরিকল্পনা.

যদি আপনি আগে এই কোণ করেছি কাজ এবং কোন মন্তব্য, শেয়ার দয়া করে!

</শেষ>

Technorati বিভাগ:

BDC ইম্পোর্ট ত্রুটি সমাধান: “প্রকার TypeDescriptor এর TypeName দ্বারা বর্ণিত লোড করা যায়নি …”

আমি BDC আজ করেছি কাজ করা হয়েছে, coding ADF files by hand and generating myself some errors. One such error:

আবেদন সংজ্ঞা ইম্পোর্ট করতে ব্যর্থ. নিম্নলিখিত ত্রুটি ঘটেছে: প্রকার TypeDescriptor এর TypeName দ্বারা বর্ণিত লোড করা যায়নি. পরামিতি ফাইলের নাম: typeName ত্রুটি বা অব্যবহিত পূর্বে লাইন সম্মুখীন হয়েছিল: '35’ এবং অবস্থান: ’20’.

শৈবাল এই ত্রুটি প্রদর্শিত যখন আমি ADF XML ফাইলটি ইম্পোর্ট চেষ্টা.

আমি Internets গবেষণা থেকে দেখা গেছে যে আমি দলা ইনস্ট্যান্সের নাম এর মধ্যে ছিল (থেকে <LobSystemInstance>) আমার <TypeDescriptor> নোডের মধ্যে যখন আমি দলা নাম নিজেই রেফারেন্সড উচিত (থেকে <LobSystem>).

ভুল:

<TypeDescriptor TypeName="Conchango.KeyValue, ডেলা ইন্সটান্স নাম" Name="KeyValue">

ঠিক:

<TypeDescriptor TypeName="Conchango.KeyValue, ডেলা নাম" Name="KeyValue">

আশা করি এই এক ব্যক্তির একটি ঘন্টা বা সময় দুটি সংরক্ষণ.

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন!

Technorati বিভাগ:

ব্যাখ্যা একটি 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, নেটওয়ার্ক, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      COUNTRY-, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, শহর, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      কাউন্টি, রাজ্য, ডাক, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, ফোন, EXTENSION, ফ্যাক্স, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG
                 (nolock)
                কোথায়
                  (লিয়া <> 'ভাগ করুন') এবং
                  (কম(CARRIER_ID-) >= কম(@ MinID)) এবং
                  (কম(CARRIER_ID-) <= কম(@ MaxId)) এবং
                  (কম(DESCR) নিম্ন মত(@ InputDescr))
                ]]>
            </সম্পত্তি>

আমি একটি 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! এটা সব কাজ.

I hope this saves someone some grief 🙂

Technorati বিভাগ: , , ,

BDC ADF এবং আপনার বন্ধু, CDATA

আমি কয়েকটি উদাহরণ মধ্যে করেছি কিছু বিশ্রী এবং অপ্রয়োজনীয় RdbCommandText হাত-এনকোডিং লক্ষিত (সহ MSDN ডকুমেন্টেশন).

আমি newcomers আউট করার জন্য যে কমান্ড একটি CDATA ট্যাগ ভিতর যাবে তাদের "প্রাকৃতিক কিছুতে আচ্ছন্ন BDC নির্দেশ চেয়েছিলেন" form. সুতরাং, এই বিশ্রী নির্মাণ:

<সম্পত্তি নাম="RdbCommandText" প্রকার="System.String">
Dbo.MCRS_SETTLEMENT.id বাছাই করুন, dbo.MCRS_SETTLEMENT থেকে dbo.MCRS_SETTLEMENT.settlement
কোথায় (আইডি &জি.টি.;= @ MinID) এবং (আইডি &LT;= @ MaxId)
</সম্পত্তি>

ভাল এই পথ যাবে প্রতিনিধিত্ব:

<সম্পত্তি নাম="RdbCommandText" প্রকার="System.String">
<![CDATA[
Dbo.MCRS_SETTLEMENT.id বাছাই করুন, dbo.MCRS_SETTLEMENT থেকে dbo.MCRS_SETTLEMENT.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 এই ফর্মা (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), আমি একটি ADF নির্মিত একটি নির্দিষ্ট SQL সার্ভার উদাহরণস্বরূপ এবং লগ করার জন্য যে একটি নির্দিষ্ট ব্যবহারকারী আইডি এবং পাসওয়ার্ড এর সঙ্গে যুক্ত এবং এই স্নিপেট দেখানো:

  <LobSystemInstances>
    <LobSystemInstance নাম="ClaimsInstance">
      <বৈশিষ্ট্যাবলী>
        <সম্পত্তি নাম="AuthenticationMode" প্রকার="System.String">PassThrough</সম্পত্তি>
        <সম্পত্তি নাম="DatabaseAccessProvider" প্রকার="System.String">SqlServer</সম্পত্তি>
        <সম্পত্তি নাম="RdbConnection ডেটা উত্স" প্রকার="System.String">প্রকৃত সার্ভার  প্রকৃত উদাহরণ</সম্পত্তি>
        <সম্পত্তি নাম="RdbConnection প্রাথমিক পরীক্ষা?" প্রকার="System.String">প্রকৃত প্রাথমিক ক্যাটালগ</সম্পত্তি>
        <সম্পত্তি নাম="RdbConnection সমন্বিত নিরাপত্তা" প্রকার="System.String">SSPI</সম্পত্তি>
        <সম্পত্তি নাম="RdbConnection পুলিং" প্রকার="System.String">মিথ্যা</সম্পত্তি>

        <!-- এগুলো কি মান: -->
        <সম্পত্তি নাম="RdbConnection ইউজার আইডি" প্রকার="System.String">একটিctual ইউজার আইডি</সম্পত্তি>
        <সম্পত্তি নাম="RdbConnection পাসওয়ার্ড" প্রকার="System.String">প্রকৃত পাসওয়ার্ড</সম্পত্তি>
        <সম্পত্তি নাম="RdbConnection Trusted_Connection" প্রকার="System.String">মিথ্যা</সম্পত্তি>

      </বৈশিষ্ট্যাবলী>
    </LobSystemInstance>
  </LobSystemInstances>

এটি একটি ভাল অভ্যাস নয়, 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 এম্বেড userid এবং পাসওয়ার্ড
  • ব্যবহারকারী adf ইন আইডি এবং পাসওয়ার্ড শোয়ান
  • ব্যবহারকারী adf bdc ইন আইডি এবং পাসওয়ার্ড শোয়ান
  • sharepoint bdc কার্তুজ
  • sharepoint এম্বেড ইউজার আইডি এবং adf মধ্যে পাসওয়ার্ড

</শেষ>

আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন.