科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在MOSS中创建一个BDC实体 (2)

在MOSS中创建一个BDC实体 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

业务数据目录--BDC(Business Data Catalog)是MOSS中新加的一个功能。它可以将LOB(Line-of-Business)数据组合到SharePoint的其他基本功能中。比如我们可以利用BDC组合业务数据到列表或企业搜索中。

作者:sunmoonfire 来源:blog 2007年9月2日

关键字: BDC MOSS SharePoint SharePoint2007 Office

  • 评论
  • 分享微博
  • 分享邮件
  1. 定义方法参数。添加下面的XML到GetCustomers 方法的Parameters 元素中。这里定义了3个参数。头两个是输入参数,通过CustomerID过滤了列表。第三个参数定义了由SQL查询返回的数据。
    所有这3个参数都包括了一个到前面我们创建的标识的引用。这个标识是实体的非常重要的一个部分。MOSS用它来查询一个特定的元素(因此标识被定义在输入参数中)。它同时还用于输出实体的各种附加功能中(比如应用于Business Data Action中)。没有标识,实体就会严重瘫痪。
    返回参数通常比较复杂。它被定义为一个数据的记录集。这样就告诉了MOSS,将会有多个实体被返回。

    <Parameter Direction="In" Name="@minCustomerID">
       
    <TypeDescriptor TypeName="System.Int32" Name="customerID" IdentifierName="CustomerID">
          
    <DefaultValues>
             
    <DefaultValue MethodInstanceName="CustomerFinderInstance" Type="System.Int32">
             0
    </DefaultValue>
             
    <DefaultValue MethodInstanceName=
                "CustomerSpecificFinderInstance"
     Type="System.Int32">
             0
    </DefaultValue>
          
    </DefaultValues>
       
    </TypeDescriptor>
    </Parameter>
    <Parameter Direction="In" Name="@maxCustomerID">
       
    <TypeDescriptor TypeName="System.Int32" Name="customerID" IdentifierName="CustomerID">
          
    <DefaultValues>
             
    <DefaultValue MethodInstanceName="CustomerFinderInstance" Type=
             "System.Int32"
    >9999999</DefaultValue>
             
    <DefaultValue MethodInstanceName=
                "CustomerSpecificFinderInstance"
     Type="System.Int32">
                9999999
    </DefaultValue>
             
    </DefaultValues>
       
    </TypeDescriptor>
    </Parameter>
    <Parameter Direction="Return" Name="Customers">
       
    <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, 
          Culture=neutral, PublicKeyToken=b77a5c561934e089"
     IsCollection="true" 
          Name
    ="CustomerDataReader">
          
    <TypeDescriptors>
             
    <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, 
                Version=2.0.3600.0, Culture=neutral, PublicKeyToken=
                b77a5c561934e089"
     Name="CustomerDataRecord">
                
    <TypeDescriptors>
                   
    <TypeDescriptor TypeName="System.Int32" IdentifierName=
                      "CustomerID"
     Name="customerID" />
                   
    <TypeDescriptor TypeName="System.String" Name="Name" />
                   
    <TypeDescriptor TypeName="System.String" Name="Phone" />
                   
    <TypeDescriptor TypeName="System.String" Name="EmailAddress" >
                      
    <LocalizedDisplayNames>
                         
    <LocalizedDisplayName LCID="1033">Email Address
                         
    </LocalizedDisplayName>
                      
    </LocalizedDisplayNames>
                   
    </TypeDescriptor>
                
    </TypeDescriptors>
             
    </TypeDescriptor>
          
    </TypeDescriptors>
       
    </TypeDescriptor>
    </Parameter>
  2. 定义方法的实例。添加下面的XML到MethodInstances 元素中。MOSS通过Finder 方法获取所有实体的已知实例。而且,MOSS通过finder方法来支持Business Data List WebPart。MOSS通过特定的Finder方法来获取查询特定方法实例的类型。搜索,业务数据操作,筛选,几乎所有其他的BDC功能都会用到该方法。
    一个方法通常只支持0或1个方法的实例。在本例中,我们只有一个方法,可以返回所有的customers或单个customer。当您定义您的实体时,您会发现或许使用两个方法会更容易些,一个GetCustomers 方法和一个GetSingleCustomer 方法。我们在这里只是为了简化XML,所以写的比较简练。
    <MethodInstance 
      
    Name="CustomerFinderInstance" 
      Type
    ="Finder" 
      ReturnParameterName
    ="Customers" 
      ReturnTypeDescriptorName
    ="CustomerDataReader" />
    <MethodInstance 
      
    Name="CustomerSpecificFinderInstance" 
      Type
    ="SpecificFinder" 
      ReturnParameterName
    ="Customers" 
      ReturnTypeDescriptorName
    ="CustomerDataReader"/>
  3. 保存文件。

6.将完成的元数据文件上传到SSP(Shared Service Provider)

打开管理中心,点左侧导航栏中的共享服务(通常名为SharedServices1)。在BDC一节中,点导入应用程序定义。点浏览,找到刚刚创建的元数据文件,双击。其他的应用程序定义项都用默认值就好,点导入。

7. 使用业务数据列表部件来显示Customer数据

在一个我们创建好的站点里,在页面中添加一个业务数据列表部件。 打开属性面板,在“类型”中输入Customer然后回车。MOSS会分析该属性,并得到Customer(CRMDB) 实体。 点确定,该实体就会显示在WebPart中了。

  MOSS中的BDC功能允许我们将处于门户以外的LOB数据包括进来,用于列表和企业搜索。BDC需要一个XML元数据文件用于定义到外部数据源的连接参数、各种查询(或Web服务方法调用),以及用于查询或方法调用的所有的输入输出参数。定义一个元数据文件,关键是理解其结构。理解BDC的关键就是理解实体。实体包括:

属性,允许BDC开发人员在实体层次定义特定的元数据,比如默认的显示元素(Title)。
标识,LOB字段的集合,唯一标识该实体。
方法, 包括T-SQL或Web服务方法,用于获取实体数据。实体可以包括多个方法,可以随意包含参数和筛选,可供BDC用户筛选结果。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章