Ir para o conteúdo

Detalhes da Conexão SAP HANA XS Advanced

Introdução

Versão do conector

Esta documentação é baseada na versão 21.0.8257 do conector.

Começando

Suporte de versão SAP HANA XSA

O conector utiliza a API SAP HANA XSA para permitir o acesso bidirecional ao SAP HANA XSA.

Estabelecendo uma Conexão

O SAP HANA XSA usa o padrão de autenticação OAuth. Antes de conectar, é necessário estabelecer um Serviço OData SAP HANA XSA OData. Consulte Criando um aplicativo OAuth personalizado para um guia.

Depois de configurar o Serviço OData, você pode estabelecer uma conexão usando Credenciais personalizadas.

Usando Autenticação OAuth

Use o padrão de autenticação OAuth para se conectar ao SAP HANA XSA V3 API. Você pode autenticar com uma conta de usuário. O conector facilita isso conforme descrito abaixo.

Usando uma Conta de Usuário para Autenticar no SAP HANA XSA

O fluxo da conta do usuário exige que o usuário autenticado interaja com o SAP HANA XSA por meio do navegador.

Criando um Aplicativo OAuth Personalizado

Você precisará criar um aplicativo OAuth personalizado para se conectar aos dados. Consulte Criando um aplicativo OAuth personalizado para um procedimento.

Credenciais Personalizadas

Você pode registrar um aplicativo para obter o OAuthClientId e OAuthClientSecret.

Quando Criar um Aplicativo OAuth Personalizado

Você precisará criar um aplicativo OAuth personalizado para se conectar.

Usando uma Conta de Serviço para Se Conectar ao SAP HANA XSA

As contas de serviço têm autenticação silenciosa, sem autenticação do usuário no navegador. Você também pode usar uma conta de serviço para delegar escopos de acesso em toda a empresa ao conector.

Você precisa criar um aplicativo OAuth neste fluxo. Você pode se conectar aos dados do SAP HANA XSA que a conta de serviço tem permissão para acessar. Consulte Credenciais personalizadas para obter um guia de autenticação.

Criando um Aplicativo OAuth Personalizado

Este driver é capaz de consumir um serviço OData implantado em um de seus aplicativos SAP HANA XSA.

Configurando o SAP HANA XS Advanced Serviço OData

O serviço OData em um aplicativo XSA é definido em um módulo de servidor criando um arquivo filename.xsodata. Os arquivos XSOData contêm as especificações do serviço OData criado.

Configuração XS UAA

Em um aplicativo avançado Multi-Target SAP HANA Extended Services (XS), o módulo de serviço XS User Account and Authentication (UAA) é usado para autenticar e autorizar usuários para acesso à API. O UAA usa OAuth 2.0 como seu fluxo de autenticação e autorização. Antes de conectar, algumas configurações devem ser feitas no módulo XS UAA.

Tanto no /path/appname ou path/appname/security diretório, crie um arquivo JSON chamado xs-security.json. Neste arquivo, defina a configuração do módulo UAA.

Para definir o módulo, coloque os escopos e funções para acessar o serviço OData no arquivo xs-security.json.

Como um exemplo:

"scopes": [{
"name": "$XSAPPNAME.odataAccess",
"description": "Access the OData service."
}]

A papel criada fará referência ao escopo definido acima. Como um exemplo:

"role-templates": [{
"name": "ODataAccess",
"description": "Role for accessing the OData service",
"scope-references": [
"$XSAPPNAME.odataAccess"
]
}]

Configuração adicional é necessária se o usuário estiver planejando usar o tipo de concessão CODE. No arquivo xs-security.json, adicione o seguinte:

"oauth2-configuration": {
"token-validity": 90000, //time in seconds when an access token expires
"redirect-uris": ["http://localhost:33333"] //the default callback of  Drivers
}
Configuração do Módulo Web

Ao definir as rotas para o módulo web, defina uma rotear extra para o arquivo XSOData. Por exemplo:

"routes": [{
"source": "^/euro.xsodata/.*$", //OData service endpoint
"destination": "js_module_service_url", //server module service url defined in mta.yaml
"authenticationType": "xsuaa",
"scope": "$XSAPPNAME.odataAccess" //the scope which grants access to the OData service
}]

Observe que há um atributo de escopo que faz referência ao escopo que concede acesso ao serviço OData. Depois de criar e executar seu aplicativo com êxito, devemos conceder aos usuários acesso ao nosso serviço OData.

Gerenciamento de Função

Para criar uma coleção de papel, navegue até XSA-COCKPIT -> Security -> Role Collections -> New Role Collection. Forneça a coleção com o nome desejado. Abra a coleção de papel que você criou e clique em Add Role. No arquivo xs-security.json, defina o Identificador do aplicativo em seu aplicativo e o modelo de papel na papel ODataAccess que foi especificada. Para atribuir a papel criada a um usuário, navegue até XSA-COCKPIT -> User Management -> Assign Role Collections -> Add, procure a papel criada pelo nome ou encontre-a na lista e clique em Save.

Obtenção de Credenciais do Cliente

Você pode encontrar as credenciais do cliente navegando para XSA-COCKPIT -> Your Organization -> Your Application -> Services -> Service Instances -> XSUAA Service -> Show Sensitive Data. No arquivo JSON mostrado, anote o id do cliente, o segredo do cliente e a URL. A URL especificada aqui é o hospedar usado para autenticar e autorizar usuários.

Conectando-se a uma Conta SAP HANA XSA

Depois de configurar corretamente seu aplicativo e já ter acesso ao Serviço OData, siga as instruções em Credenciais personalizadas para se conectar ao seu aplicativo SAP HANA XSA.

O Módulo XS UAA usa OAuth2.0 como seu método de autorização. Apenas os tipos de concessão CODE e PASSWORD são suportados.

Credenciais Personalizadas

Você pode usar um aplicativo OAuth personalizado para autenticar com uma conta de serviço ou uma conta de usuário. Consulte Usando autenticação OAuth Para maiores informações.

Autenticar com uma Conta de Usuário
Autenticação de Desktop com um Aplicativo OAuth Personalizado

Siga as etapas abaixo para autenticar com as credenciais de um aplicativo OAuth personalizado. Consulte Criando um aplicativo OAuth personalizado.

Obtenha e atualize o token de acesso OAuth

Depois de definir o seguinte, você está pronto para se conectar:

  • InitiateOAuth: Defina como GETANDREFRESH. Você pode usar InitiateOAuth para evitar repetir a troca de OAuth e configurar manualmente o OAuthAccessToken.
  • OAuthClientId: Defina isso para o ID do cliente especificado no arquivo JSON do serviço UAA.
  • OAuthClientSecret: Defina isso como o segredo do cliente especificado no arquivo JSON do serviço UAA.
  • URL: Defina isso para o endpoint do serviço OData.
  • XSUAAURL: Defina isso para o hospedar de serviço UAA.
  • CallbackURL: Defina para http://localhost:33333.

Quando você conecta, o conector abre o endpoint OAuth em seu navegador padrão. Faça login e conceda permissões ao aplicativo. O conector então conclui o processo OAuth:

  1. Extrai o token de acesso da URL de retorno de chamada e autentica as solicitações.
  2. Atualiza o token de acesso quando ele expira.
  3. Salva valores OAuth em OAuthSettingsLocation para ser persistido nas conexões.

Usando tipo de concessão de senha

Para se conectar ao SAP Hana XSA usando o tipo de concessão de SENHA, defina o seguinte:

  • InitiateOAuth: Defina como GETANDREFRESH. Você pode usar InitiateOAuth para evitar repetir a troca de OAuth e configurar manualmente o OAuthAccessToken.
  • OAuthClientId: Defina isso para o ID do cliente especificado no arquivo JSON do serviço UAA.
  • OAuthClientSecret: Defina isso como o segredo do cliente especificado no arquivo JSON do serviço UAA.
  • URL: Defina isso para o endpoint do serviço OData.
  • OAuthGrantType: Defina como SENHA.
  • XSUAAURL: Defina isso para o URL do serviço UAA.
  • User: Defina o nome de usuário da sua conta.
  • Password: Defina a senha da sua conta

Máquinas Sem Cabeça

Usando OAuth em uma Máquina Sem Cabeça

As seções a seguir mostram como autenticar um servidor headless ou outra máquina na qual o conector não pode abrir um navegador. Você pode autenticar com uma conta de usuário ou com uma conta de serviço.

Autenticar com uma Conta de Usuário

Para autenticar com uma conta de usuário, você precisa autenticar de outra máquina. A autenticação é um processo de duas etapas.

  1. Ao invés de instalar o conector em outra máquina, você pode seguir os passos abaixo para obter o OAuthVerifier valor. Ou você pode instalar o conector em outra máquina e transferir os valores de autenticação OAuth, depois de autenticar por meio do fluxo normal baseado em navegador.
  2. Em seguida, você pode configurar o conector para atualizar automaticamente o token de acesso da máquina sem periféricos.

Você pode seguir o fluxo de autenticação OAuth headless usando as credenciais OAuth para seu aplicativo OAuth personalizado.

Usando as Credenciais para um Aplicativo OAuth Personalizado

Crie um aplicativo OAuth personalizado

Você precisará criar um aplicativo OAuth personalizado para se conectar.

Consulte Criando um aplicativo OAuth personalizado para um procedimento. Você pode seguir os procedimentos abaixo para autenticar e conectar-se aos dados.

Obtenha um código verificador

Defina as seguintes propriedades na máquina sem periféricos:

  • InitiateOAuth: Defina como DESLIGADO.
  • OAuthClientId: Defina isso como o ID do cliente nas configurações do aplicativo.
  • OAuthClientSecret: Defina isso como o segredo do cliente nas configurações do aplicativo.
  • URL: Defina isso para o endpoint do serviço OData.
  • XSUAAURL: Defina isso para o hospedar de serviço UAA.
  • CallbackURL: Defina para http://localhost:33333.

Você pode seguir as etapas abaixo para autenticar em outra máquina e obter o OAuthVerifier propriedade de conexão.

  1. Chame o GetOAuthAuthorizationURL procedimento armazenado* com o parâmetro de entrada CallbackURL definido para o URI de redirecionamento exato que você especificou nas configurações do aplicativo.
  2. Abra o URL retornado em um navegador. Faça login e conceda permissões ao conector. Você será redirecionado para o URL de retorno de chamada, que contém o código do verificador.
  3. Salve o valor do código do verificador. Você definirá isso no OAuthVerifier propriedade de conexão.

Na máquina sem periféricos, defina as seguintes propriedades de conexão para obter os valores de autenticação OAuth:

  • InitiateOAuth: Configure para ATUALIZAR.
  • OAuthClientId: Defina isso como a chave do consumidor nas configurações do aplicativo.
  • OAuthClientSecret: Defina isso como o segredo do consumidor nas configurações do aplicativo.
  • OAuthVerifier: Defina isso para o código do verificador.
  • OAuthSettingsLocation: Defina para manter os valores de autenticação OAuth criptografados no arquivo especificado.
  • URL: Defina isso para o endpoint do serviço OData.
  • XSUAAURL: Defina isso para o hospedar de serviço UAA.

Depois que o arquivo de configurações OAuth for gerado, defina as seguintes propriedades para se conectar aos dados:

  • InitiateOAuth: Configure para ATUALIZAR.
  • OAuthClientId: Defina isso como a chave do consumidor nas configurações do aplicativo.
  • OAuthClientSecret: Defina isso como o segredo do consumidor nas configurações do aplicativo.
  • OAuthSettingsLocation: Defina isso para o arquivo que contém os valores de autenticação OAuth criptografados. Certifique-se de que este arquivo forneça permissões de leitura e gravação ao provedor para ativar a atualização automática do token de acesso.
  • URL: Defina isso para o endpoint do serviço OData.
  • XSUAAURL: Defina isso para o hospedar de serviço UAA.

Configurações de transferência OAuth

Siga as etapas abaixo para instalar o conector em outra máquina, autenticar e depois transferir os valores OAuth resultantes.

Em uma segunda máquina, instale o conector e conecte-se com o seguinte conjunto de propriedades:

  • InitiateOAuth: Defina como GETANDREFRESH.
  • OAuthSettingsLocation: Defina isso como um arquivo de texto gravável.
  • OAuthClientId: Defina isso para o ID do cliente atribuído quando você registrou seu aplicativo.
  • OAuthClientSecret: Defina isso como o segredo do cliente atribuído quando você registrou seu aplicativo.
  • CallbackURL: Defina para http://localhost:33333.
  • URL: Defina isso para o endpoint do serviço OData.
  • XSUAAURL: Defina isso para o hospedar de serviço UAA.

Teste a conexão para autenticar. Os valores de autenticação resultantes são gravados, criptografados, no caminho especificado por OAuthSettingsLocation. Depois de testar a conexão com sucesso, copie o arquivo de configurações OAuth para sua máquina sem periféricos. Na máquina sem periféricos, defina as seguintes propriedades de conexão para se conectar aos dados:

  • InitiateOAuth: Defina como REFRESH.
  • OAuthClientId: Defina isso como a chave do consumidor nas configurações do aplicativo.
  • OAuthClientSecret: Defina isso como o segredo do consumidor nas configurações do aplicativo.
  • OAuthSettingsLocation: Defina isso como o caminho para o arquivo de configurações OAuth. Certifique-se de que este arquivo forneça permissões de leitura e gravação ao conector para habilitar a atualização automática do token de acesso.
  • URL: Defina isso para o endpoint do serviço OData.
  • XSUAAURL: Defina isso para o hospedar de serviço UAA.

Anotações Importantes

Procedimentos Armazenados

  • Os recursos de procedimentos armazenados descritos nesta documentação não são suportados no momento.
  • Como os procedimentos armazenados não são suportados atualmente, qualquer recurso dependente de procedimentos armazenados também não é suportado atualmente.

Arquivos de Configuração e Seus Caminhos

  • Todas as referências para adicionar arquivos de configuração e seus caminhos referem-se a arquivos e locais no Harmony Agente onde o conector está instalado. Esses caminhos devem ser ajustados conforme apropriado, dependendo do agente e do sistema operacional. Se vários agentes forem usados em um grupo de agentes, arquivos idênticos serão necessários em cada agente.

Características Avançadas

Esta seção detalha uma seleção de recursos avançados do conector SAP HANA XSA.

Visualizações definidas pelo usuário

O conector permite definir tabelas virtuais, denominadas visões definidas pelo usuário, cujo conteúdo é decidido por uma consultar pré-configurada. Essas exibições são úteis quando você não pode controlar diretamente as consultas enviadas aos drivers. Consulte Visualizações definidas pelo usuário para obter uma visão geral da criação e configuração de exibições personalizadas.

Configuração SSL

Use Configuração SSL para ajustar como o conector lida com as negociações de certificado TLS/SSL. Você pode escolher entre vários formatos de certificado; Veja o SSLServerCert propriedade em "Opções de cadeia de conexão" para obter mais informações.

Procurador

Para configurar o conector usando configurações de proxy do Agente Privado, selecione os Use Proxy Settings caixa de seleção na tela de configuração da conexão.

Visualizações Definidas pelo Usuário

O Conector Jitterbit para SAP HANA XSA permite definir uma tabela virtual cujo conteúdo é decidido por uma consultar pré-configurada. Elas são chamadas de Visualizações Definidas pelo Usuário, que são úteis em situações onde você não pode controlar diretamente a consultar que está sendo emitida para o driver, por exemplo, ao usar o driver do Jitterbit. As Visualizações Definidas pelo Usuário podem ser usadas para definir predicados que são sempre aplicados. Se você especificar predicados adicionais na consultar para a visualização, eles serão combinados com a consultar já definida como parte da visualização.

Há duas maneiras de criar exibições definidas pelo usuário:

  • Crie um arquivo de configuração em formato JSON definindo as visualizações desejadas.
  • declarações DDL.

Definindo Visualizações Usando um Arquivo de Configuração

As visualizações definidas pelo usuário são definidas em um arquivo de configuração formatado em JSON chamado UserDefinedViews.json. O conector detecta automaticamente as visualizações especificadas neste arquivo.

Você também pode ter várias definições de exibição e controlá-las usando o UserDefinedViews propriedade de conexão. Quando você usa essa propriedade, apenas as exibições especificadas são vistas pelo conector.

Este arquivo de configuração de exibição definida pelo usuário é formatado da seguinte forma:

  • Cada elemento raiz define o nome de uma exibição.
  • Cada elemento raiz contém um elemento filho, chamado query, que contém a consultar SQL personalizada para a exibição.

Por exemplo:

{
    "MyView": {
        "query": "SELECT * FROM SampleTable WHERE MyColumn = 'value'"
    },
    "MyView2": {
        "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
    }
}

Use o UserDefinedViews propriedade de conexão para especificar a localização do seu arquivo de configuração JSON. Por exemplo:

"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"

Esquema para Exibições Definidas pelo Usuário

As visualizações definidas pelo usuário são expostas no UserViews esquema por padrão. Isso é feito para evitar que o nome da exibição entre em conflito com uma entidade real no modelo de dados. Você pode alterar o nome do esquema usado para UserViews definindo o UserViewsSchemaName propriedade.

Trabalhando com Exibições Definidas pelo Usuário

Por exemplo, uma instrução SQL com uma Visualização Definida pelo Usuário chamada UserViews.RCustomers lista apenas clientes em Raleigh:

SELECT * FROM Customers WHERE City = 'Raleigh';

Exemplo de consultar ao driver:

SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';

Resultando na consultar efetiva à fonte:

SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';

Esse é um exemplo muito simples de uma consultar a uma exibição definida pelo usuário que é efetivamente uma combinação da consultar de exibição e da definição de exibição. É possível compor essas consultas em padrões bem mais complexos. Todas as operações SQL são permitidas em ambas as consultas e são combinadas quando apropriado.

Configuração SSL

Personalizando a Configuração SSL

Por padrão, o conector tenta negociar SSL/TLS verificando o certificado do servidor em relação ao armazenamento de certificados confiáveis do sistema.

Para especificar outro certificado, consulte o SSLServerCert propriedade para os formatos disponíveis para fazê-lo.

Modelo de Dados

Visão geral

Esta seção mostra os objetos de API disponíveis e fornece mais informações sobre a execução de SQL para SAP HANA XSA APIs.

Características principais

  • O conector modela o Serviço OData SAP HANA XSA OData como tabelas e exibições relacionais, permitindo que você escreva SQL para consultar dados SAP HANA XSA.
  • Procedimentos armazenados* permitem que você execute operações para SAP HANA XSA.
  • A conectividade ao vivo com esses objetos significa que quaisquer alterações em sua conta SAP HANA XSA são refletidas imediatamente ao usar o conector.

Mesas

O conector obtém metadados de tabela dinamicamente do serviço SAP HANA XSA OData. Consulte Descoberta de metadados Para maiores informações.

Visualizações

O conector obtém dinamicamente metadados de exibição somente leitura do serviço SAP HANA XSA OData. Consulte Descoberta de metadados Para maiores informações.

Procedimentos armazenados

NOTE: Procedimentos armazenados não são suportados atualmente. Veja a nota para detalhes.

Procedimentos armazenados são interfaces semelhantes a funções para SAP HANA XSA. Procedimentos armazenados* permitem que você execute operações no SAP HANA XSA, incluindo download de documentos e movimentação de envelopes.

Processamento de consulta colaborativa

O conector transfere o máximo possível do processamento da instrução SELECT para as APIs SAP HANA XSA e processa o restante da consultar na memória. Ver SupportEnhancedSQL para obter mais informações sobre como o conector contorna as limitações da API com processamento na memória do lado do cliente.

Procedimentos Armazenados

Procedimentos armazenados* estão disponíveis para complementar os dados disponíveis no Modelo de Dados. Pode ser necessário atualizar os dados disponíveis em uma exibição usando um procedimento armazenado* porque os dados não fornecem atualizações bidirecionais diretas, semelhantes a tabelas. Nessas situações, a recuperação dos dados é feita usando a visualização ou tabela apropriada, enquanto a atualização é feita chamando um procedimento armazenado. Procedimentos armazenados* pega uma lista de parâmetros e retorna um conjunto de dados que contém a coleção de tuplas que constituem a resposta.

Conector Jitterbit para Procedimentos Armazenados SAP HANA XSA

Nome Descrição
GetOAuthAccessToken Obtém um token de autenticação de SAPHanaXSA.
GetOAuthAuthorizationURL Obtém a URL de autorização que deve ser aberta separadamente pelo usuário para conceder acesso ao seu aplicativo. Necessário apenas ao desenvolver aplicativos da Web. Você solicitará o OAuthAccessToken deste URL.
RefreshOAuthAccessToken Atualiza o token de acesso OAuth usado para autenticação com vários serviços Basecamp.

GetOAuthAccessToken

Obtém um token de autenticação de SAPHanaXSA.

Entrada
Nome Tipo Obrigatório Descrição
AuthMode String Falso O tipo de modo de autenticação a ser usado. Selecione App para obter tokens de autenticação por meio de um aplicativo de desktop. Selecione Web para obter tokens de autenticação por meio de um aplicativo Web. Os valores permitidos são APP, WEB. O valor padrão é APP.
Scope String Falso Uma lista separada por vírgulas de permissões a serem solicitadas ao usuário. Verifique a API SAPHanaXSA para obter uma lista de permissões disponíveis.
CallbackUrl String Falso A URL para a qual o usuário será redirecionado após autorizar seu aplicativo. Esse valor deve corresponder à URL de redirecionamento que você especificou nas configurações do aplicativo SAPHanaXSA. Necessário apenas quando o parâmetro Authmode for Web.
Verifier String Falso O verificador retornou do SAPHanaXSA depois que o usuário autorizou seu aplicativo a ter acesso aos seus dados. Esse valor será retornado como um parâmetro para a URL de retorno de chamada.
State String Falso Indica qualquer estado que pode ser útil para sua aplicação após o recebimento da resposta. Seu aplicativo recebe o mesmo valor que enviou, pois esse parâmetro faz uma viagem de ida e volta para o servidor de autorização SAPHanaXSA e vice-versa. Os usos incluem redirecionar o usuário para o recurso correto em seu site, nonces e mitigações de falsificação de solicitação entre sites.
Colunas do Conjunto de Resultados
Nome Tipo Descrição
OAuthAccessToken String O token de acesso usado para comunicação com SAPHanaXSA.
OAuthRefreshToken String O token de atualização OAuth. É o mesmo que o token de acesso no caso de SAPHanaXSA.
ExpiresIn String O tempo de vida restante no token de acesso. Um -1 denota que não irá expirar.

GetOAuthAuthorizationURL

Obtém a URL de autorização que deve ser aberta separadamente pelo usuário para conceder acesso ao seu aplicativo. Necessário apenas ao desenvolver aplicativos da Web. Você solicitará o OAuthAccessToken deste URL.

Entrada
Nome Tipo Obrigatório Descrição
CallbackUrl String Falso A URL para a qual o usuário será redirecionado após autorizar seu aplicativo. Esse valor deve corresponder ao URL de redirecionamento nas configurações do aplicativo SAPHanaXSA.
Scope String Falso Uma lista separada por vírgulas de escopos a serem solicitados ao usuário. Verifique a documentação da API SAPHanaXSA para obter uma lista de permissões disponíveis.
State String Falso Indica qualquer estado que pode ser útil para sua aplicação após o recebimento da resposta. Seu aplicativo recebe o mesmo valor que enviou, pois esse parâmetro faz uma viagem de ida e volta para o servidor de autorização SAPHanaXSA e vice-versa. Os usos incluem redirecionar o usuário para o recurso correto em seu site, nonces e mitigações de falsificação de solicitação entre sites.
Colunas do Conjunto de Resultados
Nome Tipo Descrição
URL String O URL de autorização, inserido em um navegador da Web para obter o token do verificador e autorizar seu aplicativo.

RefreshOAuthAccessToken

Atualiza o token de acesso OAuth usado para autenticação com vários serviços Basecamp.

Entrada
Nome Tipo Obrigatório Descrição
OAuthRefreshToken String Verdade O token de atualização retornou com o token de acesso anterior.
Colunas do Conjunto de Resultados
Nome Tipo Descrição
OAuthAccessToken String O token de autenticação retornado do Basecamp. Isso pode ser usado em chamadas subseqüentes para outras operações para este serviço específico.
OAuthRefreshToken String Um token que pode ser usado para obter um novo token de acesso.
ExpiresIn String O tempo de vida restante no token de acesso.

Tabelas do Sistema

Você pode consultar as tabelas do sistema descritas nesta seção para acessar informações de esquema, informações sobre a funcionalidade da fonte de dados e estatísticas de operação em lote.

Tabelas de Esquema

As tabelas a seguir retornam metadados de banco de dados para SAP HANA XSA:

Tabelas de Fonte de Dados

As tabelas a seguir retornam informações sobre como se conectar e consultar a fonte de dados:

  • sys_connection_props: Retorna informações sobre as propriedades de conexão disponíveis.
  • sys_sqlinfo: Descreve as consultas SELECT que o conector pode descarregar para a fonte de dados.

Consultar Tabelas de Informações

A tabela a seguir retorna estatísticas de consultar para consultas de modificação de dados:

  • sys_identity: Retorna informações sobre operações em lote ou atualizações únicas.

Sys_catalogs

Lista os bancos de dados disponíveis.

A consultar a seguir recupera todos os bancos de dados determinados pela string de conexão:

SELECT * FROM sys_catalogs
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados.

Sys_schemas

Lista os esquemas disponíveis.

A consultar a seguir recupera todos os esquemas disponíveis:

SELECT * FROM sys_schemas
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados.
SchemaName String O nome do esquema.

Sys_tables

Lista as tabelas disponíveis.

A consultar a seguir recupera as tabelas e exibições disponíveis:

SELECT * FROM sys_tables
Colunas
Nome Tipo Descrição
CatalogName String O banco de dados que contém a tabela ou exibição.
SchemaName String O esquema que contém a tabela ou exibição.
TableName String O nome da tabela ou exibição.
TableType String O tipo de tabela (tabela ou exibição).
Description String Uma descrição da tabela ou visualização.
IsUpdateable Boolean Se a tabela pode ser atualizada.

Sys_tablecolumns

Descreve as colunas das tabelas e exibições disponíveis.

A consultar a seguir retorna as colunas e os tipos de dados da tabela SampleTable:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='SampleTable' 
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados que contém a tabela ou exibição.
SchemaName String O esquema que contém a tabela ou exibição.
TableName String O nome da tabela ou exibição que contém a coluna.
ColumnName String O nome da coluna.
DataTypeName String O nome do tipo de dados.
DataType Int32 Um número inteiro indicando o tipo de dados. Esse valor é determinado no tempo de execução com base no ambiente.
Length Int32 O tamanho de armazenamento da coluna.
DisplaySize Int32 A largura máxima normal da coluna designada em caracteres.
NumericPrecision Int32 O número máximo de dígitos em dados numéricos. O comprimento da coluna em caracteres para caracteres e dados de data e hora.
NumericScale Int32 A escala da coluna ou o número de dígitos à direita do ponto decimal.
IsNullable Boolean Se a coluna pode conter null.
Description String Uma breve descrição da coluna.
Ordinal Int32 O número de sequência da coluna.
IsAutoIncrement String Se o valor da coluna é atribuído em incrementos fixos.
IsGeneratedColumn String Se a coluna é gerada.
IsHidden Boolean Se a coluna está oculta.
IsArray Boolean Se a coluna é uma matriz.

Sys_procedures

Lista os procedimentos armazenados disponíveis.

A consultar a seguir recupera os procedimentos armazenados disponíveis:

SELECT * FROM sys_procedures
Colunas
Nome Tipo Descrição
CatalogName String O banco de dados que contém o procedimento armazenado.
SchemaName String O esquema que contém o procedimento armazenado.
ProcedureName String O nome do procedimento armazenado.
Description String Uma descrição do procedimento armazenado.
ProcedureType String O tipo do procedimento, como PROCEDURE ou FUNCTION.

Sys_procedureparameters

Descreve procedimento armazenado* parâmetros.

A consultar a seguir retorna informações sobre todos os parâmetros de entrada para o procedimento armazenado SampleProcedure:

SELECT * FROM sys_procedureparameters WHERE ProcedureName='SampleProcedure' AND Direction=1 OR Direction=2
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados que contém o procedimento armazenado.
SchemaName String O nome do esquema que contém o procedimento armazenado.
ProcedureName String O nome do procedimento armazenado* contendo o parâmetro.
ColumnName String O nome do procedimento armazenado* parâmetro.
Direction Int32 Um número inteiro correspondente ao tipo do parâmetro: entrada (1), entrada/saída (2) ou saída (4). parâmetros de tipo de entrada/saída podem ser parâmetros de entrada e saída.
DataTypeName String O nome do tipo de dados.
DataType Int32 Um número inteiro indicando o tipo de dados. Esse valor é determinado no tempo de execução com base no ambiente.
Length Int32 O número de caracteres permitido para dados de caractere. O número de dígitos permitidos para dados numéricos.
NumericPrecision Int32 A precisão máxima para dados numéricos. O comprimento da coluna em caracteres para caracteres e dados de data e hora.
NumericScale Int32 O número de dígitos à direita do ponto decimal em dados numéricos.
IsNullable Boolean Se o parâmetro pode conter null.
IsRequired Boolean Se o parâmetro é necessário para a execução do procedimento.
IsArray Boolean Se o parâmetro é uma matriz.
Description String A descrição do parâmetro.
Ordinal Int32 O índice do parâmetro.

Sys_keycolumns

Descreve as chaves primárias e estrangeiras. A consultar a seguir recupera a chave primária da tabela SampleTable:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='SampleTable'
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados que contém a chave.
SchemaName String O nome do esquema que contém a chave.
TableName String O nome da tabela que contém a chave.
ColumnName String O nome da coluna chave.
IsKey Boolean Se a coluna é uma chave primária na tabela referenciada no campo TableName.
IsForeignKey Boolean Se a coluna é uma chave estrangeira referenciada no campo TableName.
PrimaryKeyName String O nome da chave primária.
ForeignKeyName String O nome da chave estrangeira.
ReferencedCatalogName String O banco de dados que contém a chave primária.
ReferencedSchemaName String O esquema que contém a chave primária.
ReferencedTableName String A tabela que contém a chave primária.
ReferencedColumnName String O nome da coluna da chave primária.

Sys_foreignkeys

Descreve as chaves estrangeiras. A consultar a seguir recupera todas as chaves estrangeiras que se referem a outras tabelas:

SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados que contém a chave.
SchemaName String O nome do esquema que contém a chave.
TableName String O nome da tabela que contém a chave.
ColumnName String O nome da coluna chave.
PrimaryKeyName String O nome da chave primária.
ForeignKeyName String O nome da chave estrangeira.
ReferencedCatalogName String O banco de dados que contém a chave primária.
ReferencedSchemaName String O esquema que contém a chave primária.
ReferencedTableName String A tabela que contém a chave primária.
ReferencedColumnName String O nome da coluna da chave primária.
ForeignKeyType String Designa se a chave estrangeira é uma chave de importação (aponta para outras tabelas) ou de exportação (referenciada de outras tabelas).

Sys_indexes

Descreve os índices disponíveis. Ao filtrar por índices, você pode escrever consultas mais seletivas com tempos de resposta de consultar mais rápidos.

A consultar a seguir recupera todos os índices que não são chaves primárias:

SELECT * FROM sys_indexes WHERE IsPrimary='false'
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados que contém o índice.
SchemaName String O nome do esquema que contém o índice.
TableName String O nome da tabela que contém o índice.
IndexName String O nome do índice.
ColumnName String O nome da coluna associada ao índice.
IsUnique Boolean True se o índice for exclusivo. Falso caso contrário.
IsPrimary Boolean Verdadeiro se o índice for uma chave primária. Falso caso contrário.
Type Int16 Um valor inteiro correspondente ao tipo de índice: estatística (0), clusterizado (1), hash (2) ou outro (3).
SortOrder String A ordem de classificação: A para crescente ou D para decrescente.
OrdinalPosition Int16 O número de sequência da coluna no índice.

Sys_connection_props

Retorna informações sobre as propriedades de conexão disponíveis e as definidas na string de conexão.

Ao consultar esta tabela, a string de conexão de configuração deve ser usada:

jdbc:cdata:saphanaxsa:config:

Esta string de conexão permite que você consultar esta tabela sem uma conexão válida.

A consultar a seguir recupera todas as propriedades de conexão que foram definidas na string de conexão ou definidas por meio de um valor padrão:

SELECT * FROM sys_connection_props WHERE Value <> ''
Colunas
Nome Tipo Descrição
Name String O nome da propriedade de conexão.
ShortDescription String Uma breve descrição.
Type String O tipo de dados da propriedade de conexão.
Default String O valor padrão, se não houver um definido explicitamente.
Values String Uma lista separada por vírgulas de valores possíveis. Um erro de validação é lançado se outro valor for especificado.
Value String O valor que você definiu ou um padrão pré-configurado.
Required Boolean Se a propriedade é necessária para se conectar.
Category String A categoria da propriedade de conexão.
IsSessionProperty String Se a propriedade é uma propriedade de sessão, usada para salvar informações sobre a conexão atual.
Sensitivity String O nível de sensibilidade da propriedade. Isso informa se a propriedade é ofuscada nos formulários de registro e autenticação.
PropertyName String Uma forma truncada em camel case do nome da propriedade de conexão.
Ordinal Int32 O índice do parâmetro.
CatOrdinal Int32 O índice da categoria do parâmetro.
Hierarchy String Mostra as propriedades dependentes associadas que precisam ser definidas juntamente com esta.
Visible Boolean Informa se a propriedade está visível na UI da conexão.
ETC String Diversas informações diversas sobre o imóvel.

Sys_sqlinfo

Descreve o processamento da consultar SELECT que o conector pode transferir para a fonte de dados.

Processamento de Consultas Colaborativas

Ao trabalhar com fontes de dados que não suportam SQL-92, você pode consultar a exibição sys_sqlinfo para determinar os recursos de consultar das APIs subjacentes, expressas na sintaxe SQL. O conector transfere o máximo possível do processamento da instrução SELECT para o servidor e, em seguida, processa o restante da consultar na memória.

Descobrindo os Recursos SELECT da Fonte de Dados

Abaixo está um exemplo de conjunto de dados de recursos SQL. O conjunto de resultados a seguir indica a funcionalidade SELECT que o conector pode descarregar para a fonte de dados ou processar o lado do cliente. Sua fonte de dados pode suportar sintaxe SQL adicional. Alguns aspectos da funcionalidade SELECT são retornados em uma lista separada por vírgulas, se suportados; caso contrário, a coluna contém NO.

Nome Descrição Valores Possíveis
AGGREGATE_FUNCTIONS Funções de agregação suportadas. AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNT Se a função COUNT é suportada. YES, NO
IDENTIFIER_QUOTE_OPEN_CHAR O caractere de abertura usado para escapar de um identificador. [
IDENTIFIER_QUOTE_CLOSE_CHAR O caractere de fechamento usado para escapar de um identificador. ]
SUPPORTED_OPERATORS Uma lista de operadores SQL com suporte. =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BY Se GROUP BY é compatível e, em caso afirmativo, o grau de suporte. NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
STRING_FUNCTIONS Funções de string suportadas. LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONS Funções numéricas suportadas. ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONS Funções de data/hora suportadas. NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLES Indica tabelas ignoradas durante a replicação.
REPLICATION_TIMECHECK_COLUMNS Uma matriz de string contendo uma lista de colunas que serão usadas para verificar (na ordem especificada) para usar como uma coluna modificada durante a replicação.
IDENTIFIER_PATTERN Valor de string que indica qual string é válida para um identificador.
SUPPORT_TRANSACTION Indica se o provedor oferece suporte a transações como confirmação e reversão. YES, NO
DIALECT Indica o dialeto SQL a ser usado.
KEY_PROPERTIES Indica as propriedades que identificam o banco de dados uniforme.
SUPPORTS_MULTIPLE_SCHEMAS Indica se vários esquemas podem existir para o provedor. YES, NO
SUPPORTS_MULTIPLE_CATALOGS Indica se vários catálogos podem existir para o provedor. YES, NO
DATASYNCVERSION A versão do Data Sync necessária para acessar este driver. Standard, Starter, Professional, Enterprise
DATASYNCCATEGORY A categoria Data Sync deste driver. Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQL Se a funcionalidade SQL aprimorada além do que é oferecido pela API é suportada. TRUE, FALSE
SUPPORTS_BATCH_OPERATIONS Se as operações em lote são suportadas. YES, NO
SQL_CAP Todos os recursos SQL suportados para este driver. SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONS Um valor de string especifica o cacheOptions preferencial.
ENABLE_EF_ADVANCED_QUERY Indica se o driver oferece suporte direto a consultas avançadas provenientes do Entity Framework. Caso contrário, as consultas serão tratadas no lado do cliente. YES, NO
PSEUDO_COLUMNS Uma matriz de cadeia de caracteres que indica as pseudocolunas disponíveis.
MERGE_ALWAYS Se o valor for verdadeiro, o modo de mesclagem será executado à força no Data Sync. TRUE, FALSE
REPLICATION_MIN_DATE_QUERY Uma consultar de seleção para retornar a data e hora de início da replicação.
REPLICATION_MIN_FUNCTION Permite que um provedor especifique o nome da fórmula a ser usado para executar um min do lado do servidor.
REPLICATION_START_DATE Permite que um provedor especifique uma data de início de replicação.
REPLICATION_MAX_DATE_QUERY Uma consultar de seleção para retornar a data e hora de término da replicação.
REPLICATION_MAX_FUNCTION Permite que um provedor especifique o nome da fórmula a ser usado para executar um máximo do lado do servidor.
IGNORE_INTERVALS_ON_INITIAL_REPLICATE Uma lista de tabelas que ignorará a divisão da replicação em blocos na replicação inicial.
CHECKCACHE_USE_PARENTID Indica se a instrução CheckCache deve ser executada na coluna de chave pai. TRUE, FALSE
CREATE_SCHEMA_PROCEDURES Indica procedimentos armazenados* que pode ser usado para gerar arquivos de esquema.

A consultar a seguir recupera os operadores que podem ser usados na cláusula WHERE:

SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'

Observe que tabelas individuais podem ter diferentes limitações ou requisitos na cláusula WHERE; consulte o Modelo de Dados para obter mais informações.

Colunas
Nome Tipo Descrição
NAME String Um componente da sintaxe SQL ou um recurso que pode ser processado no servidor.
VALUE String Detalhes sobre a sintaxe SQL ou SQL suportada.

Sys_identity

Retorna informações sobre tentativas de modificação.

A consultar a seguir recupera os IDs das linhas modificadas em uma operação em lote:

SELECT * FROM sys_identity
Colunas
Nome Tipo Descrição
Id String O ID gerado pelo banco de dados retornado de uma operação de modificação de dados.
Batch String Um identificador para o lote. 1 para uma única operação.
Operation String O resultado da operação no lote: INSERTED, UPDATED ou DELETED.
Message String SUCCESS ou uma mensagem de erro se a atualização no lote falhou.

Descoberta de Metadados

Expondo Entidades e Propriedades de Navegação

O conector modela o serviço SAP HANA XSA Serviço OData como tabelas e exibições relacionais.

O Serviço OData possui relacionamentos com outros objetos nas tabelas, que são expressos por meio de chaves estrangeiras.

O conector obtém dinamicamente os metadados do serviço OData exposto pelo aplicativo Multi Target SAP Hana XS Advanced.

Tomemos, por exemplo, o seguinte Serviço OData:

service {
"tinyworld.tinydb::tinyf.world" as "Continents" navigates ("Continet_Countries" as "Country");
"tinyworld.tinydb::tinyf.Country" as "Countries";
"tinyworld.tinydb::tinyf.pollution_data" as "pollution_data";
association "Continet_Countries" principal "Continents"("continent") multiplicity "1" dependent "Countries"("partof.continent") multiplicity "*"; 
}

O conector exporá 3 tabelas e 1 exibição conforme especificado no arquivo .xsodata. As tabelas expostas seriam: Continentes, Países e dados_poluição, e a exibição exposta seria: Continentes_País. Cada configuração feita no arquivo .xsodata afetará o Serviço OData e os dados expostos pelo conector.

Expondo Exibições de Cálculo Parametrizadas

Além das entidades OData padrão, nosso conector expõe e oferece suporte à consulta de exibições de cálculo parametrizadas configuradas como conjuntos de entidades separados e também como propriedades de navegação de outro conjunto de entidades.

Os parâmetros de entrada são expostos como colunas de tabela padrão e seu valor pode ser fornecido como uma condição de cláusula WHERE. A coluna do parâmetro de entrada pode ser facilmente identificada, pois o conector anexa o prefixo 'Parameters_' ao nome da coluna. Você deve observar que o único operador suportado pelo lado do servidor para parâmetros de entrada é EQUAL (=).

SELECT * FROM Orders WHERE Parameters_InputRegion='US'

Os parâmetros de entrada são necessários na cláusula WHERE somente se um valor padrão não for definido em tempo de design no XSA Web IDE. Isso significa que a consultar de exemplo abaixo deve ser executada corretamente sem fornecer nenhum valor para os parâmetros de entrada se um valor padrão for configurado para o parâmetro InputRegion.

SELECT * FROM Orders

Vamos considerar o seguinte exemplo de Serviço OData:

service {
"tinyworld.tinydb::LocalOrders" as "Orders" keys("No") parameters via entity;
"tinyworld.tinydb::ThresholdOrders" as "LocalThresholdOrders" keys("No") parameters via entity "ThresholdParams" results property "Execute"; 
"tinyworld.tinydb::tinyf.Customer" as "Customers" navigates ("customer_res" as "CustomerReservations");
"tinyworld.tinydb::ReservationView" as "Reservations" key ("resno") parameters via key and entity;
association via parameters "customer_res" principal "Customer"("CustomerId") multiplicity "1" dependent "Reservations"("InputCustomerId") multiplicity "*";
}

A primeira exibição parametrizada exposta é a exibição 'Pedidos'. Como ele usa a configuração padrão, você pode consultar -lo diretamente sem qualquer configuração adicional.

De acordo com o segundo, 'LocalThresholdOrders', ele usa um conjunto de entidades de parâmetros renomeados personalizados 'ThresholdParams'. Para que o conector o identifique corretamente como uma exibição parametrizada, você precisará fornecer o nome da entidade de parâmetros por meio do ParametersEntitySets propriedade de conexão. Se você tiver mais de um conjunto de entidades de parâmetros renomeados, poderá fornecer a lista separada por vírgulas dos conjuntos de entidades de parâmetros renomeados para cada visualização parametrizada exposta.

O conector também expõe e oferece a possibilidade de consultar exibições parametrizadas configuradas como propriedades de navegação de outra entidade. Este tipo de visualização de navegação não suporta expansão, portanto, para consultar -la, você precisará especificar a chave da entidade base. Você não deve fornecer nenhum valor para os parâmetros de entrada. Eles não são necessários nem suportados pelo lado do servidor, pois seus valores são vinculados aos campos de entidade base correspondentes.

Neste exemplo, a exibição de cálculo 'Reservas' é configurada como a propriedade de navegação 'Reservas do cliente' da entidade Clientes. A consultar de exemplo abaixo retorna 'CustomerReservations' para o cliente com valor de chave 1001.

SELECT * FROM Customers_ CustomerReservations WHERE CustomerId = '1001'

Propriedades de Configurações Avançadas

As propriedades de configurações avançadas são as várias opções que podem ser usadas para estabelecer uma conexão. Esta seção fornece uma lista completa das opções que você pode configurar. Clique nos links para mais detalhes.

Autenticação

Propriedade Descrição
AuthScheme O tipo de autenticação a ser usado ao se conectar ao SAP HANA XSA.
XSUAAURL A URL da qual recuperar o token de acesso OAuth.
URL O endpoint do serviço OData.
User A conta de usuário do SAP HANA XSA usada para autenticação.
Password A senha usada para autenticar o usuário.

OAuth

Propriedade Descrição
InitiateOAuth Configure esta propriedade para iniciar o processo para obter ou atualizar o token de acesso OAuth ao se conectar.
OAuthClientId O ID do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.
OAuthClientSecret O segredo do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.
OAuthAccessToken O token de acesso para conexão usando OAuth.
CallbackURL O URL de retorno de chamada OAuth ao qual retornar durante a autenticação. Esse valor deve corresponder ao URL de retorno especificado nas configurações do aplicativo.
OAuthGrantType O tipo de concessão para o fluxo OAuth.
OAuthVerifier O código do verificador retornado da URL de autorização OAuth.
OAuthRefreshToken O token de atualização OAuth para o token de acesso OAuth correspondente.
OAuthExpiresIn O tempo de vida em segundos do OAuth AccessToken.
OAuthTokenTimestamp O registro de data e hora da época do Unix em milissegundos quando o token de acesso atual foi criado.

SSL

Propriedade Descrição
SSLServerCert O certificado a ser aceito do servidor ao conectar usando TLS/SSL.

Esquema

Propriedade Descrição
Location Um caminho para o diretório que contém os arquivos de esquema que definem tabelas, exibições e procedimentos armazenados.
BrowsableSchemas Essa propriedade restringe os esquemas relatados a um subconjunto dos esquemas disponíveis. Por exemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Esta propriedade restringe as tabelas reportadas a um subconjunto das tabelas disponíveis. Por exemplo, Tables=TableA, TableB, TableC.
Views Restringe as visualizações relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA, ViewB, ViewC.

Diversos

Propriedade Descrição
MaxRows Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design.
ODataVersion A versão do OData a ser usada. Por padrão, o provedor tentará detectar automaticamente a versão.
Other Essas propriedades ocultas são usadas apenas em casos de uso específicos.
Pagesize O número máximo de resultados a serem retornados por página do SAP HANA XSA.
ParametersEntitySets A lista separada por vírgulas dos conjuntos de entidades de parâmetros renomeados para as exibições calculadas parametrizadas expostas.
PseudoColumns Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela.
SupportsExpand Se você precisa especificar a chave da entidade base para consultar exibições de propriedade de navegação.
SupportsFormulas Um booleano que indica se o serviço OData oferece suporte a fórmulas do lado do servidor.
Timeout O valor em segundos até que o erro de timeout seja lançado, cancelando a operação.
UseClientSidePaging Se o Provedor ADO.NET para SAP HANA XSA deve ou não usar a paginação do lado do cliente.
UseEtags Se a fonte OData usa ou não Etags.
UseSimpleNames Booleano determinando se nomes simples devem ser usados para tabelas e colunas.

Autenticação

Esta seção fornece uma lista completa de propriedades de autenticação que você pode configurar.

Propriedade Descrição
AuthScheme O tipo de autenticação a ser usado ao se conectar ao SAP HANA XSA.
XSUAAURL A URL da qual recuperar o token de acesso OAuth.
URL O endpoint do serviço OData.
User A conta de usuário do SAP HANA XSA usada para autenticação.
Password A senha usada para autenticar o usuário.

AuthScheme

O tipo de autenticação a ser usado ao se conectar ao SAP HANA XSA.

Valores Possíveis

Basic, OAuth

Tipo de Dados

string

Valor Padrão

"Basic"

Observações
  • Básico: Defina para usar a autenticação de usuário/senha básica.
  • OAuth: Defina para executar a autenticação OAuth.

XSUAAURL

A URL da qual recuperar o token de acesso OAuth.

Tipo de Dados

string

Valor Padrão

""

Observações

No OAuth 1.0, o token de solicitação autorizado é trocado pelo token de acesso nessa URL.

URL

O endpoint do serviço OData.

Tipo de Dados

string

Valor Padrão

""

Observações

Você pode encontrar esse endpoint nas configurações do módulo da web. Verifique o arquivo onde você definiu todas as suas rotas. Defina esta propriedade de conexão para uma URL que aponte para um arquivo de serviço OData, por exemplo: http://hxehost.com/euro.xsodata

Do Utilizador

A conta de usuário do SAP HANA XSA usada para autenticação.

Tipo de Dados

string

Valor Padrão

""

Observações

Juntamente com Senha, esse campo é usado para autenticação no servidor SAP HANA XSA.

Senha

A senha usada para autenticar o usuário.

Tipo de Dados

string

Valor Padrão

""

Observações

O usuário e Password são usados juntos para autenticar com o servidor.

OAuth

Esta seção fornece uma lista completa de propriedades OAuth que você pode configurar.

Propriedade Descrição
InitiateOAuth Configure esta propriedade para iniciar o processo para obter ou atualizar o token de acesso OAuth ao se conectar.
OAuthClientId O ID do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.
OAuthClientSecret O segredo do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.
OAuthAccessToken O token de acesso para conexão usando OAuth.
CallbackURL O URL de retorno de chamada OAuth ao qual retornar durante a autenticação. Esse valor deve corresponder ao URL de retorno especificado nas configurações do aplicativo.
OAuthGrantType O tipo de concessão para o fluxo OAuth.
OAuthVerifier O código do verificador retornado da URL de autorização OAuth.
OAuthRefreshToken O token de atualização OAuth para o token de acesso OAuth correspondente.
OAuthExpiresIn O tempo de vida em segundos do OAuth AccessToken.
OAuthTokenTimestamp O registro de data e hora da época do Unix em milissegundos quando o token de acesso atual foi criado.

InitiateOAuth

Configure esta propriedade para iniciar o processo para obter ou atualizar o token de acesso OAuth ao se conectar.

Valores Possíveis

OFF, GETANDREFRESH, REFRESH

Tipo de Dados

string

Valor Padrão

"OFF"

Observações

As seguintes opções estão disponíveis:

  1. OFF: Indica que o fluxo OAuth será tratado inteiramente pelo usuário. Um OAuthAccessToken será necessário para autenticação.
  2. GETANDREFRESH: Indica que todo o fluxo OAuth será tratado pelo conector. Se nenhum token existir atualmente, ele será obtido solicitando ao usuário por meio do navegador. Se existir um token, ele será atualizado quando aplicável.
  3. REFRESH: Indica que o conector tratará apenas da atualização do OAuthAccessToken. O usuário nunca será solicitado pelo conector a autenticar por meio do navegador. O usuário deve manipular a obtenção do OAuthAccessToken e OAuthRefreshToken inicialmente.

OAuthClientId

O ID do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.

Tipo de Dados

string

Valor Padrão

""

Observações

Como parte do registro de um aplicativo OAuth, você receberá o OAuthClientId valor, às vezes também chamado de chave do consumidor, e um segredo do cliente, o OAuthClientSecret.

OAuthClientSecret

O segredo do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.

Tipo de Dados

string

Valor Padrão

""

Observações

Como parte do registro de um aplicativo OAuth, você receberá o OAuthClientId, também chamada de chave do consumidor. Você também receberá um segredo do cliente, também chamado de segredo do consumidor. Defina o segredo do cliente no OAuthClientSecret propriedade.

OAuthAccessToken

O token de acesso para conexão usando OAuth.

Tipo de Dados

string

Valor Padrão

""

Observações

O OAuthAccessToken propriedade é usada para conectar usando OAuth. O OAuthAccessToken é recuperado do servidor OAuth como parte do processo de autenticação. Ele tem um tempo limite dependente do servidor e pode ser reutilizado entre as solicitações.

O token de acesso é usado no lugar do seu nome de usuário e senha. O token de acesso protege suas credenciais, mantendo-as no servidor.

URL de Retorno

O URL de retorno de chamada OAuth ao qual retornar durante a autenticação. Esse valor deve corresponder ao URL de retorno especificado nas configurações do aplicativo.

Tipo de Dados

string

Valor Padrão

"http://localhost:33333"

Observações

Durante o processo de autenticação, o servidor de autorização OAuth redireciona o usuário para esta URL. Esse valor deve corresponder ao URL de retorno especificado nas configurações do aplicativo.

OAuthGrantType

O tipo de concessão para o fluxo OAuth.

Valores Possíveis

CODE, PASSWORD

Tipo de Dados

string

Valor Padrão

"PASSWORD"

Observações

O tipo de concessão para o fluxo OAuth. As seguintes opções estão disponíveis: CÓDIGO,SENHA

OAuthVerifier

O código do verificador retornado da URL de autorização OAuth.

Tipo de Dados

string

Valor Padrão

""

Observações

O código do verificador retornado da URL de autorização OAuth. Isso pode ser usado em sistemas em que um navegador não pode ser iniciado, como sistemas headless.

Autenticação em Máquinas Sem Cabeça

Consulte para obter o OAuthVerifier valor.

Defina OAuthSettingsLocation juntamente com OAuthVerifier. Quando você conecta, o conector troca o OAuthVerifier para os tokens de autenticação OAuth e os salva, criptografados, no arquivo especificado. Defina InitiateOAuth para GETANDREFRESH automatizar a troca.

Depois que o arquivo de configurações OAuth for gerado, você poderá remover OAuthVerifier nas propriedades de conexão e conecte-se com OAuthSettingsLocation definir.

Para atualizar automaticamente os valores do token OAuth, defina OAuthSettingsLocation e adicionalmente defina InitiateOAuth para ATUALIZAR.

OAuthRefreshToken

O token de atualização OAuth para o token de acesso OAuth correspondente.

Tipo de Dados

string

Valor Padrão

""

Observações

O OAuthRefreshToken a propriedade é usada para atualizar o OAuthAccessToken ao usar a autenticação OAuth.

OAuthExpiresIn

O tempo de vida em segundos do OAuth AccessToken.

Tipo de Dados

string

Valor Padrão

""

Observações

Emparelhe com OAuthTokenTimestamp para determinar quando o AccessToken expirará.

OAuthTokenTimestamp

O registro de data e hora da época do Unix em milissegundos quando o token de acesso atual foi criado.

Tipo de Dados

string

Valor Padrão

""

Observações

Emparelhe com OAuthExpiresIn para determinar quando o AccessToken expirará.

SSL

Esta seção fornece uma lista completa de propriedades SSL que você pode configurar.

Propriedade Descrição
SSLServerCert O certificado a ser aceito do servidor ao conectar usando TLS/SSL.

SSLServerCert

O certificado a ser aceito do servidor ao conectar usando TLS/SSL.

Tipo de Dados

string

Valor Padrão

""

Observações

Se estiver usando uma conexão TLS/SSL, esta propriedade pode ser usada para especificar o certificado TLS/SSL a ser aceito do servidor. Qualquer outro certificado que não seja confiável para a máquina é rejeitado.

Esta propriedade pode assumir as seguintes formas:

Descrição Exemplo
Um certificado PEM completo (exemplo abreviado para concisão) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
Um caminho para um arquivo local contendo o certificado C:\cert.cer
A chave pública (exemplo abreviado para concisão) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
O Thumbprint MD5 (os valores hexadecimais também podem ser separados por espaço ou dois-pontos) ecadbdda5a1529c58a1e9e09828d70e4
A impressão digital SHA1 (os valores hexadecimais também podem ser separados por espaço ou dois-pontos) 34a929226ae0819f2ec14b4a3d904f801cbb150d

Se não for especificado, qualquer certificado confiável pela máquina será aceito.

Os certificados são validados como confiáveis pela máquina com base no armazenamento confiável do sistema. O armazenamento confiável usado é o valor 'javax.net.ssl.trustStore' especificado para o sistema. Se nenhum valor for especificado para esta propriedade, o armazenamento confiável padrão do Java será usado (por exemplo, JAVA_HOME\lib\security\cacerts).

Use '*' para indicar a aceitação de todos os certificados. Observe que isso não é recomendado devido a questões de segurança.

Esquema

Esta seção fornece uma lista completa de propriedades de esquema que você pode configurar.

Propriedade Descrição
Location Um caminho para o diretório que contém os arquivos de esquema que definem tabelas, exibições e procedimentos armazenados.
BrowsableSchemas Essa propriedade restringe os esquemas relatados a um subconjunto dos esquemas disponíveis. Por exemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Esta propriedade restringe as tabelas reportadas a um subconjunto das tabelas disponíveis. Por exemplo, Tables=TableA, TableB, TableC.
Views Restringe as visualizações relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA, ViewB, ViewC.

Localização

Um caminho para o diretório que contém os arquivos de esquema que definem tabelas, exibições e procedimentos armazenados.

Tipo de Dados

string

Valor Padrão

"%APPDATA%\\\SAPHanaXSA Data Provider\\Schema"

Observações

O caminho para um diretório que contém os arquivos de esquema para o conector (arquivos .rsd para tabelas e exibições, arquivos .rsb para procedimentos armazenados). A localização da pasta pode ser um caminho relativo a partir da localização do executável. O Location a propriedade só é necessária se você quiser personalizar definições (por exemplo, alterar um nome de coluna, ignorar uma coluna e assim por diante) ou estender o modelo de dados com novas tabelas, exibições ou procedimentos armazenados.

Se não for especificado, o local padrão é "%APPDATA%\\SAPHanaXSA Data Provider\Schema" com %APPDATA% sendo definido para o diretório de configuração do usuário:

Plataforma %APPDATA%
Windows O valor da variável de ambiente APPDATA
Mac ~/Biblioteca/Suporte de aplicativos
Linux ~/.config

Esquemas Navegáveis

Essa propriedade restringe os esquemas relatados a um subconjunto dos esquemas disponíveis. Por exemplo, BrowsableSchemas=SchemaA,SchemaB,SchemaC.

Tipo de Dados

string

Valor Padrão

""

Observações

Listar os esquemas de bancos de dados pode ser caro. Fornecer uma lista de esquemas na string de conexão melhora o desempenho.

Tabelas

Esta propriedade restringe as tabelas reportadas a um subconjunto das tabelas disponíveis. Por exemplo, Tabelas=TabelaA,TabelaB,TabelaC.

Tipo de Dados

string

Valor Padrão

""

Observações

Listar as tabelas de alguns bancos de dados pode ser caro. Fornecer uma lista de tabelas na string de conexão melhora o desempenho do conector.

Essa propriedade também pode ser usada como uma alternativa para listar automaticamente as exibições se você já souber com quais deseja trabalhar e, caso contrário, haveria muitas para trabalhar.

Especifique as tabelas que deseja em uma lista separada por vírgulas. Cada tabela deve ser um identificador SQL válido com quaisquer caracteres especiais escapados usando colchetes, aspas duplas ou acentos graves. Por exemplo, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Observe que, ao conectar-se a uma fonte de dados com vários esquemas ou catálogos, você precisará fornecer o nome totalmente qualificado da tabela nesta propriedade, como no último exemplo aqui, para evitar ambigüidade entre tabelas que existem em vários catálogos ou esquemas.

Visualizações

Restringe as visualizações relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA,ViewB,ViewC.

Tipo de Dados

string

Valor Padrão

""

Observações

Listar as exibições de alguns bancos de dados pode ser caro. Fornecer uma lista de exibições na string de conexão melhora o desempenho do conector.

Essa propriedade também pode ser usada como uma alternativa para listar automaticamente as exibições se você já souber com quais deseja trabalhar e, caso contrário, haveria muitos para trabalhar.

Especifique as exibições desejadas em uma lista separada por vírgulas. Cada exibição deve ser um identificador SQL válido com quaisquer caracteres especiais escapados usando colchetes, aspas duplas ou acentos graves. Por exemplo, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Observe que, ao conectar-se a uma fonte de dados com vários esquemas ou catálogos, você precisará fornecer o nome totalmente qualificado da tabela nesta propriedade, como no último exemplo aqui, para evitar ambigüidade entre tabelas que existem em vários catálogos ou esquemas.

Diversos

Esta seção fornece uma lista completa de diversas propriedades que você pode configurar.

Propriedade Descrição
MaxRows Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design.
ODataVersion A versão do OData a ser usada. Por padrão, o provedor tentará detectar automaticamente a versão.
Other Essas propriedades ocultas são usadas apenas em casos de uso específicos.
Pagesize O número máximo de resultados a serem retornados por página do SAP HANA XSA.
ParametersEntitySets A lista separada por vírgulas dos conjuntos de entidades de parâmetros renomeados para as exibições calculadas parametrizadas expostas.
PseudoColumns Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela.
SupportsExpand Se você precisa especificar a chave da entidade base para consultar exibições de propriedade de navegação.
SupportsFormulas Um booleano que indica se o serviço OData oferece suporte a fórmulas do lado do servidor.
Timeout O valor em segundos até que o erro de timeout seja lançado, cancelando a operação.
UseClientSidePaging Se o Provedor ADO.NET para SAP HANA XSA deve ou não usar a paginação do lado do cliente.
UseEtags Se a fonte OData usa ou não Etags.
UseSimpleNames Booleano determinando se nomes simples devem ser usados para tabelas e colunas.

MaxRows

Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design.

Tipo de Dados

int

Valor Padrão

-1

Observações

Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design.

ODataVersion

A versão do OData a ser usada. Por padrão, o provedor tentará detectar automaticamente a versão.

Valores Possíveis

AUTO, 2.0, 4.0

Tipo de Dados

string

Valor Padrão

"AUTO"

Observações

A versão do OData a ser usada. Por padrão, o conector tentará determinar automaticamente a versão que o serviço está usando. Se uma versão não puder ser resolvida, a 3.0 será usada. Isso pode opcionalmente ser definido manualmente.

Outro

Essas propriedades ocultas são usadas apenas em casos de uso específicos.

Tipo de Dados

string

Valor Padrão

""

Observações

As propriedades listadas abaixo estão disponíveis para casos de uso específicos. Os casos de uso e a funcionalidade normais do driver não devem exigir essas propriedades.

Especifique várias propriedades em uma lista separada por ponto e vírgula.

Integração e Formatação
Propriedade Descrição
DefaultColumnSize Define o comprimento padrão dos campos de string quando a fonte de dados não fornece o comprimento da coluna nos metadados. O valor padrão é 2000. Voltar para o início
ConvertDateTimeToGMT Determina se os valores de data e hora devem ser convertidos em GMT, em vez da hora local da máquina.
RecordToFile=filename Registra a transferência de dados do soquete subjacente para o arquivo especificado.

Tamanho da Página

O número máximo de resultados a serem retornados por página do SAP HANA XSA.

Tipo de Dados

int

Valor Padrão

1000

Observações

O Pagesize a propriedade afeta o número máximo de resultados a serem retornados por página do SAP HANA XSA. Definir um valor mais alto pode resultar em melhor desempenho ao custo de memória adicional alocada por página consumida.

ParâmetrosEntitySets

A lista separada por vírgulas dos conjuntos de entidades de parâmetros renomeados para as exibições calculadas parametrizadas expostas.

Tipo de Dados

string

Valor Padrão

""

Observações

Você pode fornecer os nomes do conjunto de entidades de parâmetros como uma lista separada por vírgulas para as exibições calculadas expostas que você está usando um conjunto de entidades de parâmetros renomeado ou uma propriedade de navegação de Resultados renomeada.

Pseudocolunas

Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela.

Tipo de Dados

string

Valor Padrão

""

Observações

Essa configuração é particularmente útil no Entity Framework, que não permite definir um valor para uma pseudocoluna, a menos que seja uma coluna de tabela. O valor dessa configuração de conexão está no formato "Table1=Column1, Table1=Column2, Table2=Column3". Você pode usar o caractere "*" para incluir todas as tabelas e todas as colunas; por exemplo, "*=*".

SuportaExpandir

Se você precisa especificar a chave da entidade base para consultar exibições de propriedade de navegação.

Tipo de Dados

bool

Valor Padrão

true

Observações

Essa propriedade de conexão é usada principalmente com APIs OData limitadas; ele determina se as propriedades de navegação podem ser recuperadas do conjunto de entidades base. No OData, as propriedades de navegação vinculam uma entidade base a uma entidade relacionada ou a uma coleção de entidades relacionadas.

Para saber mais sobre propriedades de navegação, consulte Modelo de dados.

Trabalhando com APIs Limitadas

No OData, o $expand O parâmetro é usado para expandir as propriedades de navegação especificadas ao solicitar dados de um determinado conjunto de entidades. Em SQL, isso torna possível executar um SELECT * para uma exibição de propriedade de navegação.

Se $expand não for compatível, uma solicitação diferente deve ser feita para recuperar uma propriedade de navegação, uma que especifique a chave primária do conjunto de entidades base. Essa restrição da API é refletida no SQL: você precisará especificar a chave primária da entidade base na cláusula WHERE.

Por exemplo, considere duas entidades com uma relação um-para-muitos no serviço de exemplo Northwind, Categorias e Produtos. Em OData, os produtos associados a uma determinada categoria podem ser representados como uma propriedade de navegação no conjunto de entidades de categoria base. O conector modela a propriedade de navegação Products como uma exibição Categories_Products.

Se $expand não for compatível, use uma consultar como a seguinte para esta visualização:

SELECT       *
FROM         Categories_Products
WHERE        (Categories_CategoryID = 1)

SuportaFórmulas

Um booleano que indica se o serviço OData oferece suporte a fórmulas do lado do servidor.

Tipo de Dados

bool

Valor Padrão

false

Observações

OData tem muitas fórmulas do lado do servidor que são incorporadas às especificações. No entanto, muitos serviços não oferecem suporte nativo a eles e gerarão erros quando essas fórmulas forem anexadas ao parâmetro $filter. Quando suportadas, as fórmulas do lado do servidor podem ser usadas para executar determinadas consultas muito mais rapidamente. Se o seu serviço OData oferecer suporte a fórmulas, defina essa propriedade de conexão como true. Caso contrário, deixe-o como falso.

Tempo Esgotado

O valor em segundos até que o erro de timeout seja lançado, cancelando a operação.

Tipo de Dados

int

Valor Padrão

60

Observações

Se Timeout = 0, as operações não expiram. As operações são executadas até serem concluídas com êxito ou até encontrarem uma condição de erro.

Se Timeout expira e a operação ainda não está concluída, o conector lança uma exceção.

UseClientSidePaging

Se o Provedor ADO.NET para SAP HANA XSA deve ou não usar a paginação do lado do cliente.

Tipo de Dados

bool

Valor Padrão

true

Observações

Algumas fontes não suportam paginação do lado do servidor. Nestes casos, defina UseClientSidePaging para verdadeiro. Caso contrário, deixe-o como falso. Contexto UseClientSidePaging para verdadeiro em uma fonte que já suporta paginação pode causar resultados incompletos.

UseEtags

Se a fonte OData usa ou não Etags.

Tipo de Dados

bool

Valor Padrão

false

Observações

Algumas fontes OData não usam Etags. Nesses casos, defina UseEtags como False.

UseSimpleNames

Booleano determinando se nomes simples devem ser usados para tabelas e colunas.

Tipo de Dados

bool

Valor Padrão

false

Observações

As tabelas e colunas do SAP HANA XSA podem usar caracteres especiais em nomes que normalmente não são permitidos em bancos de dados padrão. UseSimpleNames torna o conector mais fácil de usar com ferramentas de banco de dados tradicionais.

Contexto UseSimpleNames para true simplificará os nomes das tabelas e colunas retornadas. Ele aplicará um esquema de nomenclatura de forma que apenas caracteres alfanuméricos e o sublinhado sejam válidos para os nomes de tabela e coluna exibidos. Quaisquer caracteres não alfanuméricos serão convertidos em um sublinhado.