ビジネスデータカタログ (Business Data Catalog) のサンプル 【RTM 日本語版】
環境:
Office SharePoint Server 2007 (RTM) 日本語
こんにちは。
SQL Server 2005 のサンプルデータベースである AdventureWorksDW データベースを使って動作するビジネスデータカタログの RTM 版 (日本語版) のサンプルを添付しておきます。
Beta 2 TR の時にあった ExactMatch が無くなっているので、ご注意ください。
==================================================
<?xml version="1.0" encoding="shift_jis" standalone="yes"?>
<LobSystem
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.microsoft.com/office/sps/2005/bdcMetadata BDCMetadata.xsd"
Type="Database"
Version="1.0.1.1"
Name="AdventureWorksDW"
xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">
<LobSystemInstances>
<LobSystemInstance Name="AdventureWorksDW">
<Properties>
<Property Name="AuthenticationMode" Type="System.String">PassThrough</Property>
<Property Name="DatabaseAccessProvider" Type="System.String">SqlServer</Property>
<Property Name="RdbConnection Data Source" Type="System.String">tsmatsuz11\OfficeServers</Property>
<Property Name="RdbConnection Initial Catalog" Type="System.String">AdventureWorksDW</Property>
<Property Name="RdbConnection Integrated Security" Type="System.String">SSPI</Property>
<Property Name="RdbConnection Pooling" Type="System.String">false</Property>
</Properties>
</LobSystemInstance>
</LobSystemInstances>
<Entities>
<Entity EstimatedInstanceCount="1000" Name="Part">
<Properties>
<Property Name="__BdcTitle" Type="System.String">PartName</Property>
<Property Name="Title" Type="System.String">PartName</Property>
</Properties>
<Identifiers>
<Identifier Name="PartKey" TypeName="System.Int32" />
</Identifiers>
<Methods>
<Method Name="PartFinder">
<Properties>
<Property Name="RdbCommandText" Type="System.String">
SELECT distinct p.*
FROM
Part p
inner join product_part pp on p.PartKey = pp.PartKey
inner join Product prod on pp.ProductKey = prod.ProductKey
WHERE
(p.PartKey >= @MinPartKey) AND
(p.PartKey <= @MaxPartKey) AND
(prod.ProductCode LIKE @ProductCode)
</Property>
<Property Name="RdbCommandType" Type="System.Data.CommandType,System.Data,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089">Text</Property>
</Properties>
<FilterDescriptors>
<FilterDescriptor Type="Wildcard" Name="ByProductCode">
<Properties>
<Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property>
</Properties>
</FilterDescriptor>
<FilterDescriptor Type="Comparison" Name="Key" />
</FilterDescriptors>
<Parameters>
<Parameter Direction="In" Name="@MinPartKey">
<TypeDescriptor Name="MinPartKey" TypeName="System.Int32" IdentifierName="PartKey" AssociatedFilter="Key">
<DefaultValues>
<DefaultValue MethodInstanceName="PartFinderInstance" Type="System.Int32">0</DefaultValue>
<DefaultValue MethodInstanceName="PartSpecificFinderInstance" Type="System.Int32">0</DefaultValue>
</DefaultValues>
</TypeDescriptor>
</Parameter>
<Parameter Direction="In" Name="@MaxPartKey">
<TypeDescriptor Name="MaxPartKey" TypeName="System.Int32" IdentifierName="PartKey" AssociatedFilter="Key">
<DefaultValues>
<DefaultValue MethodInstanceName="PartFinderInstance" Type="System.Int32">9999999</DefaultValue>
<DefaultValue MethodInstanceName="PartSpecificFinderInstance" Type="System.Int32">9999999</DefaultValue>
</DefaultValues>
</TypeDescriptor>
</Parameter>
<Parameter Direction="In" Name="@ProductCode">
<TypeDescriptor Name="ProductCode" TypeName="System.String" AssociatedFilter="ByProductCode">
<DefaultValues>
<DefaultValue MethodInstanceName="PartFinderInstance" Type="System.String">%</DefaultValue>
<DefaultValue MethodInstanceName="PartSpecificFinderInstance" Type="System.String">%</DefaultValue>
</DefaultValues>
</TypeDescriptor>
</Parameter>
<Parameter Name="Parts" Direction="Return">
<TypeDescriptor Name="Parts" TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true">
<TypeDescriptors>
<TypeDescriptor Name="Part" TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<TypeDescriptors>
<TypeDescriptor Name="PartKey" TypeName="System.Int32" IdentifierName="PartKey">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">部品番号</LocalizedDisplayName>
</LocalizedDisplayNames>
<Properties>
<Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
</Properties>
</TypeDescriptor>
<TypeDescriptor TypeName="System.String" Name="PartCode">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">部品コード</LocalizedDisplayName>
</LocalizedDisplayNames>
<Properties>
<Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
</Properties>
</TypeDescriptor>
<TypeDescriptor Name="PartName" TypeName="System.String">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">部品名</LocalizedDisplayName>
</LocalizedDisplayNames>
<Properties>
<Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
</Properties>
</TypeDescriptor>
<TypeDescriptor TypeName="System.Int16" Name="ReorderPoint">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">再注文</LocalizedDisplayName>
</LocalizedDisplayNames>
<Properties>
<Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
</Properties>
</TypeDescriptor>
<TypeDescriptor TypeName="System.Int32" Name="Inventory">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">インベントリー</LocalizedDisplayName>
</LocalizedDisplayNames>
<Properties>
<Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
</Properties>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</Parameter>
</Parameters>
<MethodInstances>
<MethodInstance Name="PartFinderInstance" Type="Finder" ReturnParameterName="Parts" />
<MethodInstance Name="PartSpecificFinderInstance" Type="SpecificFinder" ReturnParameterName="Parts" />
</MethodInstances>
</Method>
</Methods>
<Actions>
<Action Name="注文をおこなう" Position="1" IsOpenedInNewWindow="true" Url="http://tsmatsuz11/sites/officedemo/_layouts/FormServer.aspx?XsnLocation=http://tsmatsuz11/sites/officedemo/FormServerTemplates/TestForm1[1].xsn&SaveLocation=http://tsmatsuz11/sites/officedemo/DocLib2&openin=browser&PartCode={0}" ImageUrl="">
<ActionParameters>
<ActionParameter Name="PartCode" Index="0" />
</ActionParameters>
</Action>
</Actions>
</Entity>
<Entity EstimatedInstanceCount="10000" Name="Product">
<Properties>
<Property Name="Title" Type="System.String">ProductName</Property>
</Properties>
<Identifiers>
<Identifier TypeName="System.Int32" Name="ProductKey" />
</Identifiers>
<Methods>
<Method Name="GetProducts">
<Properties>
<Property Name="RdbCommandText" Type="System.String">
select * from
product
where
ProductCode like @productCode and
ProductName like @productName and
ProductKey <= @maxProductKey and
ProductKey >= @minProductKey
</Property>
<Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
</Properties>
<FilterDescriptors>
<FilterDescriptor Type="Wildcard" Name="ByName">
<Properties>
<Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property>
</Properties>
</FilterDescriptor>
<FilterDescriptor Type="Wildcard" Name="ByCode" />
<FilterDescriptor Type="Comparison" Name="ByID" />
</FilterDescriptors>
<Parameters>
<Parameter Direction="In" Name="@minProductKey">
<TypeDescriptor TypeName="System.Int32" IdentifierName="ProductKey" AssociatedFilter="ByID" Name="minProductKey">
<DefaultValues>
<DefaultValue MethodInstanceName="ProductFinderInstance" Type="System.Int32">0</DefaultValue>
<DefaultValue MethodInstanceName="ProductSpecificFinderInstance" Type="System.Int32">0</DefaultValue>
</DefaultValues>
</TypeDescriptor>
</Parameter>
<Parameter Direction="In" Name="@maxProductKey">
<TypeDescriptor TypeName="System.Int32" IdentifierName="ProductKey" AssociatedFilter="ByID" Name="maxProductKey">
<DefaultValues>
<DefaultValue MethodInstanceName="ProductFinderInstance" Type="System.Int32">99999999</DefaultValue>
<DefaultValue MethodInstanceName="ProductSpecificFinderInstance" Type="System.Int32">99999999</DefaultValue>
</DefaultValues>
</TypeDescriptor>
</Parameter>
<Parameter Direction="In" Name="@productName">
<TypeDescriptor TypeName="System.String" AssociatedFilter="ByName" Name="ProductName">
<DefaultValues>
<DefaultValue MethodInstanceName="ProductFinderInstance" Type="System.String">%</DefaultValue>
<DefaultValue MethodInstanceName="ProductSpecificFinderInstance" Type="System.String">%</DefaultValue>
</DefaultValues>
</TypeDescriptor>
</Parameter>
<Parameter Direction="In" Name="@productCode">
<TypeDescriptor TypeName="System.String" AssociatedFilter="ByCode" Name="ProductCode">
<DefaultValues>
<DefaultValue MethodInstanceName="ProductFinderInstance" Type="System.String">%</DefaultValue>
<DefaultValue MethodInstanceName="ProductSpecificFinderInstance" Type="System.String">%</DefaultValue>
</DefaultValues>
</TypeDescriptor>
</Parameter>
<Parameter Direction="Return" Name="Products">
<TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductDataReader">
<TypeDescriptors>
<TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProductDataRecord">
<TypeDescriptors>
<TypeDescriptor TypeName="System.Int32" IdentifierName="ProductKey" Name="ProductKey">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">製品番号</LocalizedDisplayName>
</LocalizedDisplayNames>
<Properties>
<Property Name="DisplayByDefault" Type="System.Boolean">false</Property>
</Properties>
</TypeDescriptor>
<TypeDescriptor TypeName="System.String" Name="ProductCode">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">製品コード</LocalizedDisplayName>
</LocalizedDisplayNames>
</TypeDescriptor>
<TypeDescriptor TypeName="System.String" Name="ProductName">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">製品名</LocalizedDisplayName>
</LocalizedDisplayNames>
<Properties>
<Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
</Properties>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</Parameter>
</Parameters>
<MethodInstances>
<MethodInstance Type="Finder" ReturnParameterName="Products" Name="ProductFinderInstance" />
<MethodInstance Type="SpecificFinder" ReturnParameterName="Products" Name="ProductSpecificFinderInstance" />
</MethodInstances>
</Method>
<Method Name="GetPartsForProduct">
<Properties>
<Property Name="RdbCommandText" Type="System.String">
SELECT distinct p.*
FROM
Part p
inner join product_part pp on p.PartKey = pp.PartKey
inner join Product prod on pp.ProductKey = prod.ProductKey
WHERE
prod.ProductKey LIKE @ProductKey
</Property>
<Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
</Properties>
<Parameters>
<Parameter Direction="In" Name="@productKey">
<TypeDescriptor TypeName="System.Int32" IdentifierName="ProductKey" Name="ProductKey" />
</Parameter>
<Parameter Direction="Return" Name="Parts">
<TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="PartDataReader">
<TypeDescriptors>
<TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="PartDataRecord">
<TypeDescriptors>
<TypeDescriptor TypeName="System.Int32" IdentifierEntityName="Part" IdentifierName="PartKey" Name="PartKey">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">部品番号</LocalizedDisplayName>
</LocalizedDisplayNames>
<Properties>
<Property Name="DisplayByDefault" Type="System.Boolean">false</Property>
</Properties>
</TypeDescriptor>
<TypeDescriptor TypeName="System.String" Name="PartCode">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">部品コード</LocalizedDisplayName>
</LocalizedDisplayNames>
</TypeDescriptor>
<TypeDescriptor TypeName="System.String" Name="PartName">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">部品名</LocalizedDisplayName>
</LocalizedDisplayNames>
<Properties>
<Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
</Properties>
</TypeDescriptor>
<TypeDescriptor TypeName="System.Int16" Name="ReorderPoint">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">再注文</LocalizedDisplayName>
</LocalizedDisplayNames>
</TypeDescriptor>
<TypeDescriptor TypeName="System.Int32" Name="Inventory">
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1041">インベントリー</LocalizedDisplayName>
</LocalizedDisplayNames>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</Parameter>
</Parameters>
</Method>
</Methods>
</Entity>
</Entities>
<Associations>
<Association AssociationMethodEntityName="Product" AssociationMethodName="GetPartsForProduct" AssociationMethodReturnParameterName="Parts" Name="ProductsToParts" IsCached="true">
<SourceEntity Name="Product" />
<DestinationEntity Name="Part" />
</Association>
</Associations>
</LobSystem>
=========================================================================