Danh mục lưu trữ: BDC

Mẹo nhanh: Các con số phiên bản của BDC ADF là bạn của bạn

Nếu bạn đang bàn tay-coding ADF tập tin và làm rất nhiều nhập/mã thử nghiệm chu kỳ, sử dụng phiên bản số để làm cho cuộc sống của bạn dễ dàng hơn.

Tôi ghét phải thừa nhận nó, nhưng cho đến khi tuần này, Tôi đã luôn luôn xóa ADF và tái nhập nó. Điều này sẽ phá vỡ cột dữ liệu kinh doanh của tôi và làm cho tôi tái dây họ. Tất cả không cần thiết.

Tập tin này theo "đó là rõ ràng khi bạn nhìn thấy nó".

Ví dụ:

<LobSystem
xmlns:XSi="http://www.w3.org/2001/XMLSchema-instance" XSi:schemaLocation="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Loại="WebService" Phiên bản="1.2.0.0" Tên="xyzzyDocumentReview" xmlns="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Thay đổi phiên bản đó và re-import và cột dữ liệu doanh nghiệp hiện có sử dụng các phiên bản cập nhật tự động với không có cấu hình bổ sung cần thiết.

</kết thúc>

Đăng ký vào blog của tôi.

Technorati Tags:

Giải pháp: BDC Picker cho thấy chỉ có một cột của kết quả

Trong nỗ lực của tôi trên sẽ cung cấp một cột tra cứu hữu dụng hơn bằng cách sử dụng BDC, Tôi nhấn một bức tường với BDC picker. Nếu bạn không nhìn thấy nó, bộ chọn BDC là tương tự như một bảng chọn người ngoại trừ rằng nó làm việc với cột loại "dữ liệu doanh nghiệp".

Bạn truy cập vào bảng chọn bằng cách nhấp vào biểu tượng mở cửa sổ của một doanh nghiệp dữ liệu cột như hiển thị:

hình ảnh

Hình ảnh ở trên cho thấy một doanh nghiệp dữ liệu cột được gọi là "Thạc sĩ tài liệu Id". Cột được kết nối, Via BDC, Dịch vụ web. Dịch vụ web trả về hai cột thông tin: ID tài liệu và tiêu đề. Mục đích kinh doanh ở đây là cung cấp một "tài liệu này dựa trên" chức năng. Người dùng chọn một "tổng thể" tài liệu và khi họ tiết kiệm, một bộ tiếp nhận sự kiện sao trường dữ liệu meta từ bậc thầy tham chiếu.

Theo mặc định, bộ chọn BDC trông như thế này khi tôi tìm kiếm một tài liệu mà ID = "38":

clip_image002

Đó là hữu ích, nhưng không đủ tốt. Mọi người không nghĩ về ID, họ nghĩ rằng trong điều khoản của tiêu đề và/hoặc dữ liệu meta khác. Bộ chọn cho phép bạn tìm kiếm trên cột khác (Ví dụ như. Tiêu đề) nhưng sẽ không hiển thị trong danh sách thực tế của nó tìm thấy tiêu đề, chỉ là của họ DocId của như được hiển thị ở đây:

clip_image002[1]

(Ảnh chụp màn hình không phải là tuyệt vời như vậy bởi vì tôi đã không nhận một tìm kiếm mà trả về bất kỳ kết quả hợp lệ, nhưng bạn có thể thấy rằng nếu nó đã tìm thấy một số kết quả, nó sẽ chỉ có hiển thị của DocId, Không tên).

Tôi tìm kiếm cao và thấp cho câu trả lời cho điều này và không thành công. Đồng nghiệp của tôi, Các hòa thượng Jonathan Bradshaw, có phải đối mặt và giải quyết vấn đề này. Khi tôi đạt ra cho anh ta để được giúp đỡ, ông đã chỉ cho tôi đi đúng hướng.

Cấu hình bộ chọn để hiển thị nhiều cột thông qua "ShowInPicker" bất động sản tại ADF:

<Bất động sản Tên="ShowInPicker" Loại="System.Boolean">sự thật</Bất động sản>

Chi tiết hơn:

  <!-- Tiêu đề -->
  <TypeDescriptor TypeName="System.String" Tên="Tiêu đề" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Tiêu đề</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Thuộc tính>
      <Bất động sản Tên="DisplayByDefault" Loại="System.Boolean">sự thật</Bất động sản>
      <Bất động sản Tên="ShowInPicker" Loại="System.Boolean">sự thật</Bất động sản>
    </Thuộc tính>
  </TypeDescriptor>

Thiết lập tài sản này giới thiệu một vấn đề nhỏ. Ngay sau khi bạn thiết lập nó một lần, bạn cần phải thiết lập nó cho mỗi cột bạn muốn hiển thị. Trong trường hợp của tôi, BDC picker cho thấy DocId theo mặc định. Tuy nhiên, một khi tôi thêm vào "ShowInPicker" danh hiệu, DocId không còn hiển thị. Tôi đã giải quyết rằng bằng cách thiết lập một cách rõ ràng các tài sản ShowInPicker cho Doc ID.

Đây là kết quả:

hình ảnh

(Tôi sẽ giải thích "lẻ 168 – CamlSchema.xsd" xây dựng trong một bài đăng blog trong tương lai. Trong ngắn hạn, nó là một chuỗi nhiều cho phép cho một kinh nghiệm người dùng tốt hơn một chút).

Tất nhiên, đã viết blog entry này, Tôi chỉ cần làm một tìm kiếm cho "ShowInPicker" và tìm thấy nhiều bài hit, trong đó có một này: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Nó giải thích ý nghĩa của tài sản đó cùng với một số công cụ BDC tốt khác.

</kết thúc>

Đăng ký vào blog của tôi!

Technorati Tags:

Giải pháp cho sự thất bại nhập BDC ADF: “Lỗi sau xuất hiện:”

Tôi một lần nữa crafting BDC ADF tập tin bằng tay (Vì vậy mà tôi có thể xây dựng của tôi "xuống bãi cỏ của tôi!" cred) và nhấn lỗi này đáng yêu:

hình ảnh

"Ứng dụng định nghĩa chuyển nhập thất bại. Lỗi sau xuất hiện:"

Như bạn có thể nhìn thấy, đó là một lỗi, Nhưng … nó sẽ không cho tôi biết những gì nó là.

Trong trường hợp của tôi, vấn đề bật ra rằng tôi đã bắt đầu với một ADF chức năng cho một dự án khác nhau mà kết nối với cơ sở dữ liệu và thực hiện một truy vấn SQL chống lại một cái nhìn. Trong dự án này mới, Tôi đang kêu gọi một phương pháp một dịch vụ web. Tôi đã có tước công cụ cụ thể DB và thêm vào công cụ dịch vụ web của tôi, nhưng thất bại trong việc cập nhật các <LobSystem>của loại thuộc tính. Tôi chuyển nó sang "WebService" và tôi hạnh phúc chuyển sang nhập khẩu mới hơn và thú vị hơn lỗi, mà đã được xử lý trong khóa học do.

Đây là LobSystem sai:

<LobSystem
xmlns:XSi =http://www.w3.org/2001/XMLSchema-instance
XSi:schemaLocation =http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Loại = "cơ sở dữ liệu"
Phiên bản = "1.0.0.0" Tên = "xyzzy"
xmlns ="
http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Điều này là chính xác:

<LobSystem
xmlns:XSi =http://www.w3.org/2001/XMLSchema-instance
XSi:schemaLocation =http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Loại = "WebService"
Phiên bản = "1.0.0.0" Tên = "xyzzy"
xmlns ="
http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

</kết thúc>

Technorati Tags:

BDC có vẻ như một sự thay thế khả thi cho tra cứu

CẬP NHẬT: MSDN đăng tải này có một số quan sát thú vị từ JXJ dựa trên, chủ yếu là tiêu cực, kinh nghiệm đi xuống con đường này: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

Chúng tôi có một kịch bản dịch vụ doanh nhân, nơi chúng tôi cần phải liên kết hai tài liệu thư viện thông qua một phổ biến "ID tài liệu" lĩnh vực.

Chúng tôi thường sử dụng một cột tra cứu để thực hiện liên kết như thế này. Có một số hạn chế để tra cứu cột, ba trong số đó là:

  1. Chỉ có một cột từ thư viện Tìm kiếm tra cứu có thể được liên kết.
  2. Hiệu suất: Thư viện mã nguồn có thể chứa hàng trăm các mục. Đó là quá nhiều mục trong việc tra cứu.
  3. Tìm kiếm: Có là không có tìm kiếm tích hợp. Tôi không có nghĩa là trong ý nghĩa MOSS tìm kiếm, nhưng không có cách nào để tìm kiếm / bộ lọc trên nhiều cột từ thư viện tài liệu nguồn và xác định vị trí liên kết bạn muốn.

Được ủng hộ bởi BDC, chúng tôi có thể sử dụng một dữ liệu của doanh nghiệp"" cột loại và nó cung cấp một tìm kiếm vượt trội và thậm chí cho phép nhiều cột dữ liệu xuất hiện trong danh sách xem.

Tôi đã có một số thành công sơ bộ với phương pháp này và có kế hoạch viết thêm về nó.

Nếu bạn đã từng làm việc này góc trước và có bất kỳ ý kiến, Xin vui lòng chia sẻ!

</kết thúc>

Technorati Tags:

Giải pháp cho BDC nhập khẩu lỗi: “Không thể nạp kiểu mô tả bởi TypeDescriptor của TypeName …”

Tôi đã làm việc với BDC ngày hôm nay, mã hóa tập tin ADF bằng tay và tạo ra bản thân mình một số lỗi. Một lỗi như vậy:

Ứng dụng định nghĩa chuyển nhập thất bại. Lỗi sau xuất hiện: Không thể nạp kiểu mô tả bởi TypeDescriptor của TypeName. Tên tham số: typeName lỗi đã gặp phải lúc hoặc chỉ trước khi dòng: ' 35’ và vị trí: '20'.

MOSS hiển thị lỗi này khi tôi đã cố gắng để nhập khẩu các tệp tin ADF XML.

Tôi nghiên cứu các Internets và thấy rằng tôi đã tham khảo tên dụ LOB (từ các <LobSystemInstance>) tại của tôi <TypeDescriptor> nút khi tôi nên đã tham chiếu LOB tên riêng của mình (từ <LobSystem>).

Sai:

<TypeDescriptor TypeName="Conchango.KeyValue, Tên dụ LOB" Tên = "KeyValue">

Chính xác:

<TypeDescriptor TypeName="Conchango.KeyValue, LOB tên" Tên = "KeyValue">

Hy vọng điều này giúp tiết kiệm một ai đó một giờ hoặc hai thời gian.

</kết thúc>

Đăng ký vào blog của tôi!

Technorati Tags:

Một lỗi thời gian chạy BDC giải thích

Tôi gây ra một lỗi BDC tuần này biểu hiện bản thân trên giao diện người dùng và trong các 12 hive đăng nhập Tại thời gian chạy.

Đầu tiên, Điều này xuất hiện trong giao diện người dùng:

Không thể tìm thấy các lĩnh vực để chèn tất cả các giá trị định danh chính xác thực hiện một SpecificFinder MethodInstance với tên … Đảm bảo đầu vào tham số có TypeDescriptors liên kết với mỗi ký hiệu nhận dạng xác định cho tổ chức này.

Đây là một ảnh chụp màn hình:

clip_image001

Tôi cũng có thể gây ra các thông báo này xuất hiện trong các 12 hive đăng nhập tại sẽ (bằng cách sử dụng của tôi high-tech-don't-try-this-at-home cấp bằng sáng chế "lỗi bí ẩn" phương pháp):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C dữ liệu kinh doanh máy chủ SharePoint Portal 6q4x cao ngoại lệ trong BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Giá trị định danh ”, loại ”, không hợp lệ. Dự kiến giá trị định danh của loại 'System.String'. tại Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Đối tượng[] subIdentifierValues, LobSystemInstance lobSystemInstance) tại Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Thực thể thực thể, Đối tượng[] userValues, LobSystemInstance lobSystemInstance) tại Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Xem desiredView) tại Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() tại Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Tôi tìm kiếm xung quanh và tìm thấy một số dẫn trong các MSDN diễn đàn, nhưng họ không đủ cho tôi để hiểu những gì tôi đã làm sai. Tôi đã xem một webcast bởi Ted Pattison đó của tôi công ty có squirreled đi trên một máy chủ và đến để nhận ra vấn đề của tôi.

Trong ADF của tôi, Tôi đang kết nối với cơ sở dữ liệu SQL như được hiển thị:

            <Bất động sản Tên="RdbCommandText" Loại="System.String">
              <![CDATA[
                CHỌN SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      QUỐC GIA, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, THÀNH PHỐ, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      QUẬN, NHÀ NƯỚC, BƯU CHÍNH, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, ĐIỆN THOẠI, PHẦN MỞ RỘNG, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG từ dbo.PS_CARRIER_ID_VW với (nolock)
                NƠI
                  (SETID <> 'CHIA SẺ') và
                  (thấp hơn(CARRIER_ID) >= thấp(@MinId)) và
                  (thấp hơn(CARRIER_ID) <= thấp(@MaxId)) và
                  (thấp hơn(DESCR) THÍCH thấp(@InputDescr))
                ]]>
            </Bất động sản>

Tôi đã được cung cấp đó SQL từ một DBA người và tôi cho hiểu rằng nó là một đặc biệt xem họ tạo ra chỉ cho tôi. Chìa khóa duy nhất có là CARRIER_ID.

Đây là lỗi tôi giới thiệu:

      <Định danh>
        <Định danh Tên="CARRIER_ID" TypeName="System.String" />
        <Định danh Tên="DESCR" TypeName="System.String" /> 
</Định danh>

Một nơi nào đó dọc theo dòng, Tôi đã quản lý để nhầm lẫn bản thân mình hơn ý nghĩa của <Định danh> và thêm vào DESCR mặc dù nó không phải là thực sự là thông tin nhận dạng. Tôi đã DESCR ra khỏi các định danh thiết lập và presto! Nó tất cả đã làm việc.

Tôi hy vọng điều này sẽ giúp ai đó bớt đau buồn 🙂

Technorati Tags: , , ,

BDC ADF và bạn bè của bạn, CDATA

Tôi đã nhận thấy một số vụng về và không cần thiết tay-encoding của RdbCommandText trong một số ví dụ (bao gồm cả tài liệu MSDN).

Tôi muốn chỉ ra cho người mới đến BDC lệnh có thể được bọc bên trong một thẻ CDATA trong tự nhiên"của họ" hình thức. Vì vậy, xây dựng khó khăn này:

<Bất động sản Tên="RdbCommandText" Loại="System.String">
CHỌN dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement từ dbo.MCRS_SETTLEMENT
NƠI (ID &gt;= @MinId) VÀ (ID &LT;= @MaxId)
</Bất động sản>

có thể tốt hơn được đại diện bằng cách này:

<Bất động sản Tên="RdbCommandText" Loại="System.String">
<![CDATA[
CHỌN dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement từ dbo.MCRS_SETTLEMENT
NƠI (ID >= @MinId) VÀ (ID <= @MaxId)
]]>
</Bất động sản>

</kết thúc>

Chất mồi đệm BDC

Giới thiệu đến BDC

Ví dụ chức năng: BDC ADF kết nối cơ sở dữ liệu SQL với nhúng người dùng id và mật khẩu

Tôi cần thiết để dây điện lên MOSS đến một cơ sở dữ liệu SQL via BDC. Cho mục đích thử nghiệm/POC, Tôi muốn nhúng SQL tài khoản người sử dụng id và mật khẩu trong ADF. Bắt đầu với mẫu này (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Tôi tạo ra một ADF mà kết nối với một trường hợp cụ thể SQL server và đăng nhập bằng một người dùng cụ thể id và mật khẩu và hiển thị trong đoạn này:

  <LobSystemInstances>
    <LobSystemInstance Tên="ClaimsInstance">
      <Thuộc tính>
        <Bất động sản Tên="AuthenticationMode" Loại="System.String">PassThrough</Bất động sản>
        <Bất động sản Tên="DatabaseAccessProvider" Loại="System.String">SqlServer</Bất động sản>
        <Bất động sản Tên="Nguồn dữ liệu RdbConnection" Loại="System.String">trường hợp thực tế serveractual</Bất động sản>
        <Bất động sản Tên="Cửa hàng RdbConnection ban đầu của bạn" Loại="System.String">cửa hàng thực tế ban đầu</Bất động sản>
        <Bất động sản Tên="RdbConnection tích hợp an ninh" Loại="System.String">SSPI</Bất động sản>
        <Bất động sản Tên="RdbConnection tổng hợp" Loại="System.String">sai</Bất động sản>

        <!-- Đây là các giá trị quan trọng: -->
        <Bất động sản Tên="ID người dùng RdbConnection" Loại="System.String">mộtctual người sử dụng ID</Bất động sản>
        <Bất động sản Tên="Mật khẩu RdbConnection" Loại="System.String">mật khẩu thực tế</Bất động sản>
        <Bất động sản Tên="RdbConnection Trusted_Connection" Loại="System.String">sai</Bất động sản>

      </Thuộc tính>
    </LobSystemInstance>
  </LobSystemInstances>

Nó không phải là một thực hành tốt nhất, nhưng nó rất hữu ích cho một cấu hình nhanh chóng và đơn giản để thử nghiệm. Điều này là đáng ngạc nhiên khó khăn để tìm ra. Tôi không bao giờ tìm thấy một ví dụ chức năng với từ khóa tìm kiếm:

  • ADF nhúng user và mật khẩu
  • nhúng id người dùng và mật khẩu trong adf
  • nhúng id người dùng và mật khẩu trong adf bdc
  • SharePoint bdc mồi
  • SharePoint nhúng id người dùng và mật khẩu trong adf

</kết thúc>

Đăng ký vào blog của tôi.