Como a: Adapt de exemplos para conectar-se a Oracle e outros bancos de dados
O Business Data Catalog pode conectar a e fornecem dados empresa a partir de seguinte bancos de dados:
Microsoft SQL Server
Oracle
OLE DB
ODBC
O exemplo AdventureWorks2000 explica a forma básica de trabalho com o Business Data Catalog para dados empresa apresentação de um banco de dados do SQL Server. Quando você trabalho com os outros bancos de dados, como Oracle, OLE DB e ODBC você siga exatamente as mesmas etapas e recomendamos que você iniciar com o AdventureWorks 2000 exemplo metadados e adaptá-lo para esses sistemas. No entanto, quando você adaptar os metadados AdventureWorks ou gravar novos metadados para esses sistemas, você deve lembrar o seguinte itens:
O caractere curinga pode diferir nesses sistemas. SQL Server usa o asterisco (*). No Oracle e outros sistemas, o caractere curinga é geralmente a assinar de porcentagem (%). Determine the wildcard character used by your system and change it in the WildcardCharacter property of the <LobSystem> tag.
O sintaxe SQL Oracle requer que você especificar parâmetros na sua consulta por prefixando-los com um dois-pontos (:) rather than de sinal de arroba (@). Certifique-se de definir esses corretamente nas instruções SQL no seu metadados.
Oracle requer id de usuário explícito e parâmetros senha no seqüência de conexão, o que significa que:
Você precisa configurar uma definição corporação no SSO com as credenciais Oracle.
Use AuthenticationMode de RdbCredentials.
Certifique-se de que o serviço Microsoft SSO é iniciado em todos os servidores farm. e definido para inicialização automática.
Você não pode usar as propriedades "RdbConnection User ID" e "Senha RdbConnection", como esses valores são fornecidos pelo SSO. Se você especificá-los, eles são simplesmente ignorados. Você deve usar o SSO para fornecer a Oracle credenciais.
O SSO requer conectividade RPC entre servidores. Certifique-se de que as portas necessárias (135, etc.) estiver aberto. Você pode usar 167260 KB como um guia sobre como a conectividade RPC verificar usando os utilitários Rpings.exe e rpingc.exe que estão no kit de recurso Microsoft Windows 2003 Server.
Exemplo
Este exemplo mostra como definir o LobSystemInstance LobSystemInstance propriedades para um banco de dados Oracle que está se conectando usando sign-on única (SSO). FEEDSTORE deve corresponder a TNS rede nome serviço. OracleDb deve corresponder ao nome de definição de aplicativo a corporação configurada no SSO.
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<LobSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Type="Database" Version="2.1.1.5" name="Oracle" xmlns="https://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">
<Properties>
<Property name="WildcardCharacter" Type="System.String">%</Property>
</Properties>
<LobSystemInstances>
<LobSystemInstance name="Oracle Sys Instance">
<Properties>
<Property name="AuthenticationMode" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAuthenticationMode">RdbCredentials</Property>
<Property name="DatabaseAccessProvider" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAccessProvider">Oracle</Property>
<Property name="RdbConnection Data Source" Type="System.String">FEEDSTORE</Property>
<Property name="RdbConnection Pooling" Type="System.String">false</Property>
<Property name="SsoApplicationId" Type="System.String">OracleDb</Property>
<Property name="WildcardCharacter" Type="System.String">%</Property>
</Properties>
</LobSystemInstance>
</LobSystemInstances>
<Entities>
<Entity EstimatedInstanceCount="10000" name="Employee">
<Properties>
<Property name="Title" Type="System.String">EName</Property>
</Properties>
<Identifiers>
<Identifier Typename="System.String" name="EmployeeName" />
</Identifiers>
<Methods>
<Method name="EmployeeFinder">
<Properties>
<Property name="RdbCommandText" Type="System.String">SELECT * FROM EMP WHERE ENAME LIKE :Name ORDER BY EMPNO</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="EmployeeName" />
</FilterDescriptors>
<Parameters>
<Parameter Direction="In" name=":Name">
<TypeDescriptor Typename="System.String" Identifiername="EmployeeName" AssociatedFilter="EmployeeName" name="EmployeeName">
<DefaultValues>
<DefaultValue MethodInstancename="IdEnumeratorInstance" Type="System.String">%</DefaultValue>
</DefaultValues>
</TypeDescriptor>
</Parameter>
<Parameter Direction="Return" name="Employees">
<TypeDescriptor Typename="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" name="Employees">
<TypeDescriptors>
<TypeDescriptor Typename="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="Employee">
<TypeDescriptors>
<TypeDescriptor Typename="System.Decimal" name="EmpNO" />
<TypeDescriptor Typename="System.String" Identifiername="EmployeeName" name="EName" />
<TypeDescriptor Typename="System.String" name="JOB" />
<TypeDescriptor Typename="System.String" name="MGR" />
<TypeDescriptor Typename="System.String" name="Job" />
<TypeDescriptor Typename="System.DateTime" name="HireDate" />
<TypeDescriptor Typename="System.Decimal" name="SAL" />
<TypeDescriptor Typename="System.Decimal" name="COMM" />
<TypeDescriptor Typename="System.Decimal" name="DEPTNo" />
</TypeDescriptors>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</Parameter>
</Parameters>
<MethodInstances>
<MethodInstance Type="Finder" ReturnParametername="Employees" ReturnTypeDescriptorname="Employees" ReturnTypeDescriptorLevel="0" name="EmployeeFinderInstance" />
<MethodInstance Type="SpecificFinder" ReturnParametername="Employees" ReturnTypeDescriptorname="Employees" ReturnTypeDescriptorLevel="0" name="EmployeeSpecificFinderInstance" />
<MethodInstance Type="IdEnumerator" ReturnParametername="Employees" ReturnTypeDescriptorname="Employees" ReturnTypeDescriptorLevel="0" name="IdEnumeratorInstance" />
</MethodInstances>
</Method>
</Methods>
</Entity>
</Entities>
</LobSystem>