Detalhes de Conexão do Google Spanner
Introdução
Versão do conector
Esta documentação é baseada na versão 21.0.8383 do conector.
Começando
Suporte à versão do Google Spanner
O Jitterbit Connector for Google Spanner se conecta com a API de serviços da Web do GoogleSpanner.
Estabelecendo uma Conexão
Conectando-se ao Google Spanner
Forneça as seguintes propriedades de conexão antes de adicionar as propriedades de autenticação.
InstanceId
: O ID da instância do Google Spanner à qual você está se conectando.Database
: O nome do banco de dados do Google Spanner ao qual se conectar.ProjectId
: o ID do projeto em que sua instância do Google Spanner reside.
Autenticação no Google Spanner
Todas as conexões com o Google Spanner são autenticadas usando OAuth. O conector oferece suporte ao uso de contas de usuário, contas de serviço e contas de instância do GCP para autenticação.
Autenticar com uma Conta de Usuário
AuthScheme
deve ser definido como OAuth
em todos os fluxos da conta do usuário. Para aplicativos de desktop, o aplicativo padrão do conector é a maneira mais simples de autenticação. O único requisito adicional é definir InitiateOAuth
para GETANDREFRESH
.
Quando o driver iniciar, ele abrirá um navegador e o Google Spanner solicitará suas informações de login. O conector usará as credenciais que você fornecer para acessar seus dados do Google Spanner. Essas credenciais serão salvas e atualizadas automaticamente conforme necessário.
Consulte Usando autenticação OAuth para obter um guia de autenticação que abrange todos os métodos suportados em detalhes.
Autenticar com uma Conta de Serviço
Para autenticar usando uma conta de serviço, você deve criar uma nova conta de serviço e ter uma cópia do certificado de contas.
Para um arquivo JSON, você precisará definir estas propriedades:
AuthScheme
: Obrigatório. Defina isso comoOAuthJWT
.InitiateOAuth
: Obrigatório. Defina isso comoGETANDREFRESH
.OAuthJWTCertType
: Obrigatório. Defina isso comoGOOGLEJSON
.OAuthJWTCert
: Obrigatório. Defina isso como o caminho para o arquivo .json fornecido pelo Google.OAuthJWTSubject
: Opcional. Defina esse valor apenas se a conta de serviço fizer parte de um domínio G Suite e você quiser habilitar a delegação. O valor desta propriedade deve ser o endereço e-mail do usuário cujos dados você deseja acessar.
Para um arquivo PFX, você precisará definir estas propriedades:
AuthScheme
: Obrigatório. Defina isso comoOAuthJWT
.InitiateOAuth
: Obrigatório. Defina isso comoGETANDREFRESH
.OAuthJWTCertType
: Obrigatório. Defina isso comoPFXFILE
.OAuthJWTCert
: Obrigatório. Defina isso como o caminho para o arquivo .pfx fornecido pelo Google.OAuthJWTCertPassword
: Opcional. Defina isso como a senha do arquivo .pfx. Na maioria dos casos, isso precisará ser fornecido, pois o Google criptografa os certificados PFX.OAuthJWTCertSubject
: Opcional. Defina isso apenas se você estiver usando umOAuthJWTCertType
que armazena vários certificados. Não deve ser definido para certificados PFX gerados pelo Google.OAuthJWTIssuer
: Obrigatório. Defina isso como o endereço e-mail da conta de serviço. Este endereço geralmente incluirá o domínioiam.gserviceaccount.com
.OAuthJWTSubject
: Opcional. Defina esse valor apenas se a conta de serviço fizer parte de um domínio G Suite e você quiser habilitar a delegação. O valor desta propriedade deve ser o endereço e-mail do usuário cujos dados você deseja acessar.
Se você ainda não tiver uma conta de serviço, poderá criar uma seguindo o procedimento em Criando um aplicativo OAuth personalizado.
Autenticar com uma Conta de Instância do GCP
Ao executar em uma máquina virtual GCP, o conector pode autenticar usando uma conta de serviço vinculada à máquina virtual. Para usar este modo, defina AuthScheme
para GCPInstanceAccount
.
Usando Autenticação OAuth
OAuth requer que o usuário autenticado interaja com o Google Spanner usando o navegador. O conector facilita isso de várias maneiras, conforme descrito abaixo.
Credenciais Incorporadas
Consulte Credenciais incorporadas para se conectar com as credenciais incorporadas do conector e pule a criação de um aplicativo OAuth personalizado.
Credenciais Personalizadas
Em vez de se conectar com as credenciais incorporadas do conector, você pode registrar um aplicativo para obter o OAuthClientId
e OAuthClientSecret
.
Quando Criar um Aplicativo OAuth Personalizado
A criação de um aplicativo OAuth personalizado é opcional, pois o conector já está registrado no Google Spanner e você pode se conectar com suas credenciais incorporadas. Talvez você queira criar um aplicativo OAuth personalizado para alterar as informações exibidas quando os usuários fazem login no endpoint OAuth do Google Spanner para conceder permissões ao conector.
Criando um Aplicativo OAuth Personalizado
Consulte Criando um aplicativo OAuth personalizado para um procedimento.
Usando uma Conta de Serviço para Se Conectar a Dados de Todo o Domínio
Você pode usar uma conta de serviço neste fluxo OAuth para acessar as APIs do Google em nome dos usuários em um domínio. Um administrador de domínio pode delegar acesso em todo o domínio à conta de serviço.
Para concluir o fluxo da conta de serviço, gere uma chave privada no Console de APIs do Google. No fluxo da conta de serviço, o conector troca um JSON Web token (JWT) pelo OAuthAccessToken
. O OAuthAccessToken
autentica que o conector tem as mesmas permissões concedidas à conta de serviço. A chave privada é necessária para assinar o JWT.
Gerar uma Chave Privada
Siga as etapas abaixo para obter as credenciais para sua inscrição:
- Faça login no Console de API do Google.
- Clique em Criar projeto ou selecione um projeto existente.
- No API Manager, clique em Credenciais -> Criar credenciais -> Chave da conta de serviço. No menu Conta de serviço, selecione Nova conta de serviço ou selecione uma conta de serviço existente. Na seção Tipo de chave, selecione o tipo de chave P12.
- Clique em Criar para fazer download do par de chaves. A senha da chave privada é exibida: Defina isso em
OAuthJWTCertPassword
. - Na seção Chaves de conta de serviço na página Credenciais, clique em Gerenciar contas de serviço e defina
OAuthJWTIssuer
para o endereço e-mail exibido no campo Service Account ID. - Clique em Biblioteca -> API do Spanner -> Ativar API.
Autenticar com uma Conta de Serviço
Depois de definir as seguintes propriedades de conexão, você está pronto para se conectar:
InitiateOAuth
: Defina como GETANDREFRESH. Você pode usarInitiateOAuth
para evitar a geração manual doOAuthAccessToken
propriedade da conexão e repetição da troca OAuth.OAuthJWTCertType
: Defina como "PFXFILE".OAuthJWTCertPassword
: Defina isso como a senha do arquivo .p12.OAuthJWTCertSubject
: Defina como "*" para escolher o primeiro certificado no armazenamento de certificados.OAuthJWTIssuer
: Defina isso para o endereço e-mail da conta de serviço.OAuthJWTCert
: Defina como o caminho para o arquivo .p12.OAuthJWTSubject
: Defina como o endereço e-mail do usuário para quem o aplicativo está solicitando acesso delegado.InstanceId
: Defina isso como o ID da instância à qual você deseja se conectar.Database
: Defina com o nome do banco de dados ao qual deseja se conectar.ProjectId
: Defina para o ID do projeto ao qual você deseja se conectar.
Quando você conecta, o conector conclui o fluxo OAuth para uma conta de serviço:
- Cria e assina o JWT com o conjunto de declarações exigido pelo conector.
- Troca o JWT pelo token de acesso.
- Envia o JWT para um novo token de acesso quando o token expira.
Credenciais Incorporadas
Autenticar Usando as Credenciais OAuth Incorporadas
Autenticação de Desktop com o Aplicativo OAuth Integrado
Você pode se conectar sem definir nenhuma propriedade de conexão para suas credenciais de usuário. 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 oOAuthAccessToken
.InstanceId
: Defina isso como o ID da instância à qual você deseja se conectar.Database
: Defina com o nome do banco de dados ao qual deseja se conectar.ProjectId
: Defina isso para o ID do projeto ao qual você deseja se conectar.
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.
- Extrai o token de acesso do URL de retorno de chamada e autentica as solicitações.
- Obtém um novo token de acesso quando o antigo expira.
- Salva valores OAuth em
OAuthSettingsLocation
para ser persistido nas conexões.
Credenciais Personalizadas
Quando Usar um Aplicativo OAuth Personalizado
A criação de um aplicativo OAuth personalizado é opcional, pois o conector já está registrado no Google Spanner e você pode se conectar com suas credenciais incorporadas.
Talvez você queira criar um aplicativo OAuth personalizado para alterar as informações exibidas quando os usuários fazem login no Google Spanner para conceder permissões ao conector.
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:
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.InitiateOAuth
: Defina como GETANDREFRESH. Você pode usar InitiateOAuth para evitar repetir a troca de OAuth e configurar manualmente oOAuthAccessToken
.InstanceId
: Defina isso como o ID da instância à qual você deseja se conectar.Database
: Defina com o nome do banco de dados ao qual deseja se conectar.ProjectId
: Defina isso para o ID do projeto ao qual você deseja se conectar.
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:
- Extrai o token de acesso do URL de retorno de chamada e autentica as solicitações.
- Atualiza o token de acesso quando ele expira.
- Salva valores OAuth em
OAuthSettingsLocation
para ser persistido nas conexões.
Máquinas Sem Cabeça
Usando OAuth em uma Máquina Sem Cabeça
Para criar fontes de dados do Google Spanner em servidores headless ou outras máquinas nas quais o conector não pode abrir um navegador, você precisa se autenticar em outra máquina. A autenticação é um processo de duas etapas.
- 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. - 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 incorporadas do conector ou usando as credenciais OAuth para seu aplicativo OAuth personalizado.
Usando as Credenciais OAuth Incorporadas
Obtenha um código verificador
Siga as etapas abaixo para autenticar em outra máquina e obter o OAuthVerifier
propriedade da conexão:
- Clique no link a seguir para abrir o endpoint OAuth do Google Spanner em seu navegador.
- Efetue 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.
- 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.
OAuthVerifier
: Defina isso para o código do verificador.InitiateOAuth
: Configure para ATUALIZAR.OAuthSettingsLocation
: Defina para manter os valores de autenticação OAuth criptografados no arquivo especificado.InstanceId
: Defina isso como o ID da instância à qual você deseja se conectar.Database
: Defina com o nome do banco de dados ao qual deseja se conectar.ProjectId
: Defina para o ID do projeto ao qual você deseja se conectar.
Depois que o arquivo de configurações OAuth for gerado, defina as seguintes propriedades para se conectar aos dados:
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 conector para habilitar a atualização automática do token de acesso.InitiateOAuth
: Configure para ATUALIZAR.InstanceId
: Defina isso como o ID da instância à qual você deseja se conectar.Database
: Defina com o nome do banco de dados ao qual deseja se conectar.ProjectId
: Defina para o ID do projeto ao qual você deseja se conectar.
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:
OAuthSettingsLocation
: Defina isso como um arquivo de texto gravável.InitiateOAuth
: Defina como GETANDREFRESH.InstanceId
: Defina isso como o ID da instância à qual você deseja se conectar.Database
: Defina com o nome do banco de dados ao qual deseja se conectar.ProjectId
: Defina isso para o ID do projeto ao qual você deseja se conectar.
Teste a conexão para autenticar no navegador. 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
: Configure para ATUALIZAR.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.InstanceId
: Defina isso como o ID da instância à qual você deseja se conectar.Database
: Defina com o nome do banco de dados ao qual deseja se conectar.ProjectId
: Defina para o ID do projeto ao qual você deseja se conectar.
Usando as Credenciais para um Aplicativo OAuth Personalizado
Crie um aplicativo OAuth personalizado
A criação de um aplicativo OAuth customizado é opcional no fluxo OAuth headless; você pode ignorar a criação de um aplicativo conectando-se com as credenciais OAuth incorporadas do conector. Talvez você queira criar um aplicativo OAuth personalizado para alterar as informações exibidas quando os usuários fazem login no Google Spanner para conceder permissões ao conector.
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.InstanceId
: Defina isso como o ID da instância à qual você deseja se conectar.Database
: Defina com o nome do banco de dados ao qual deseja se conectar.ProjectId
: Defina para o ID do projeto ao qual você deseja se conectar.
Você pode seguir as etapas abaixo para autenticar em outra máquina e obter o OAuthVerifier
propriedade de conexão.
- 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.
- 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.
- 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:
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.InitiateOAuth
: Configure para ATUALIZAR.InstanceId
: Defina isso como o ID da instância à qual você deseja se conectar.Database
: Defina com o nome do banco de dados ao qual deseja se conectar.ProjectId
: Defina para o ID do projeto ao qual você deseja se conectar.
Depois que o arquivo de configurações OAuth for gerado, defina as seguintes propriedades para se conectar aos dados:
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.InitiateOAuth
: Configure para ATUALIZAR.InstanceId
: Defina isso como o ID da instância à qual você deseja se conectar.Database
: Defina com o nome do banco de dados ao qual deseja se conectar.ProjectId
: Defina para o ID do projeto ao qual você deseja se conectar.
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:
OAuthSettingsLocation
: Defina isso como um arquivo de texto gravável.InitiateOAuth
: Defina como GETANDREFRESH.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.InstanceId
: Defina isso como o ID da instância à qual você deseja se conectar.Database
: Defina com o nome do banco de dados ao qual deseja se conectar.ProjectId
: Defina para o ID do projeto ao qual você deseja se conectar.
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.InstanceId
: Defina isso como o ID da instância à qual você deseja se conectar.Database
: Defina com o nome do banco de dados ao qual deseja se conectar.ProjectId
: Defina para o ID do projeto ao qual você deseja se conectar.
Criando um Aplicativo OAuth Personalizado
Registrando Seu Aplicativo
O fluxo de consentimento do usuário OAuth envolve a interação do usuário autenticado com o Google usando o navegador. Para facilitar isso, o conector já está registrado como um aplicativo OAuth, mas pode ser necessário configurar valores específicos para seu aplicativo ou organização. Você também pode exibir suas próprias informações em vez das do aplicativo quando os usuários fizerem login para conceder permissões.
-
Faça login no Console de API do Google.
-
Clique em Criar projeto ou selecione um projeto existente.
-
Abra o API Manager no menu principal e clique em Credenciais -> Criar credenciais -> ID do cliente OAuth.
-
Se estiver se conectando a partir de um aplicativo de desktop, selecione Outro.
Se você estiver se conectando a partir de um aplicativo da Web, selecione Aplicativo da Web. Na caixa Authorized Redirect URIs, insira a URL que você deseja que seja usada como uma URL de redirecionamento confiável, onde o usuário retornará com o token que verifica se ele concedeu acesso ao seu aplicativo.
-
Clique em Criar. O
OAuthClientId
eOAuthClientSecret
Estão exibidas. -
Clique em Biblioteca -> API do Spanner -> Ativar API.
Quando Criar um Aplicativo OAuth Personalizado
A criação de um aplicativo OAuth personalizado é opcional, pois o conector já está registrado no Google Spanner e você pode se conectar com suas credenciais incorporadas.
Talvez você queira criar um aplicativo OAuth personalizado para alterar as informações exibidas quando os usuários fazem login no endpoint OAuth do Google Spanner para conceder permissões ao conector.
Siga as etapas abaixo para criar um aplicativo OAuth personalizado e obter as propriedades de conexão em um fluxo de autenticação OAuth específico.
Crie um Aplicativo OAuth Personalizado: Área de Trabalho
Registre seu aplicativo Google Spanner em https://console.cloud.google.com/apis/credentials
para obter as seguintes propriedades de conexão:
OAuthClientId
OAuthClientSecret
Características Avançadas
Esta seção detalha uma seleção de recursos avançados do conector do Google Spanner.
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 Jitterbit Connector for Google Spanner 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 visualização.
Por exemplo:
{
"MyView": {
"query": "SELECT * FROM [].[GoogleSpanner].Customer 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 muito 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
O Jitterbit Connector for Google Spanner modela os dados conforme definido no Google Spanner para o projeto e a instância configurados.
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 do Google Spanner
Nome | Descrição |
---|---|
GetOAuthAccessToken | Obtém o token de acesso OAuth para ser usado para autenticação com vários serviços do Google. |
GetOAuthAuthorizationURL | Obtém o URL de autorização OAuth usado para autenticação com vários serviços do Google. |
RefreshOAuthAccessToken | Obtém o token de acesso OAuth para ser usado para autenticação com vários serviços do Google. |
GetOAuthAccessToken
Obtém o token de acesso OAuth para ser usado para autenticação com vários serviços do Google.
Entrada
Nome | Tipo | Descrição |
---|---|---|
AuthMode | String | O tipo de modo de autenticação a ser usado. Os valores permitidos são APP, WEB. O valor padrão é WEB. |
Verifier | String | O código do verificador retornado pelo Google depois que a permissão para o aplicativo se conectar foi concedida. WEB AuthMode apenas. |
Scope | String | O escopo de acesso às APIs do Google. Por padrão, o acesso a todas as APIs usadas por esse provedor de dados será especificado. o valor padrão é *https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/spanner.admin https://www.googleapis.com/auth/spanner.data* . |
CallbackURL | String | Este campo determina para onde a resposta é enviada. O valor desse parâmetro deve corresponder exatamente a um dos valores registrados no Console de APIs, incluindo os esquemas HTTP ou HTTPS, capitalização e barra final ('/'). |
Prompt | String | Este campo indica o prompt para apresentar ao usuário. Ele aceita um dos seguintes valores: NONE, CONSENT, SELECT ACCOUNT. O padrão é SELECT_ACCOUNT, portanto, um determinado usuário será solicitado a selecionar a conta à qual se conectar. Se estiver definido como CONSENT, o usuário verá uma página de consentimento todas as vezes, mesmo que já tenha dado consentimento ao aplicativo para um determinado conjunto de escopos. Por fim, se for definido como NONE, nenhuma tela de autenticação ou consentimento será exibida ao usuário. O valor padrão é SELECT_ACCOUNT. |
AccessType | String | Este campo indica se seu aplicativo precisa acessar uma API do Google quando o usuário não está presente no navegador. Este parâmetro é padronizado como OFFLINE. Se seu aplicativo precisar atualizar os tokens de acesso quando o usuário não estiver presente no navegador, use OFFLINE. Isso fará com que seu aplicativo obtenha um token de atualização na primeira vez que seu aplicativo trocar um código de autorização para um usuário. Os valores permitidos são ONLINE, OFFLINE. O valor padrão é OFFLINE. |
State | String | Este campo 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 ao servidor de autorização do Google. Os usos incluem redirecionar o usuário para o recurso correto em seu site, usar nonces e atenuar a falsificação de solicitação entre sites. |
Colunas do Conjunto de Resultados
Nome | Tipo | Descrição |
---|---|---|
OAuthAccessToken | String | O token de autenticação retornado do Google. 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. |
GetOAuthAuthorizationURL
Obtém o URL de autorização OAuth usado para autenticação com vários serviços do Google.
Entrada
Nome | Tipo | Descrição |
---|---|---|
Scope | String | O escopo de acesso às APIs do Google. Por padrão, o acesso a todas as APIs usadas por esse provedor de dados será especificado. o valor padrão é *https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/spanner.admin https://www.googleapis.com/auth/spanner.data* . |
CallbackURL | String | Este campo determina para onde a resposta é enviada. O valor desse parâmetro deve corresponder exatamente a um dos valores registrados no Console de APIs, incluindo os esquemas HTTP ou HTTPS, maiúsculas e minúsculas e barra final ('/'). |
Prompt | String | Este campo indica o prompt para apresentar ao usuário. Ele aceita um dos seguintes valores: NONE, CONSENT, SELECT ACCOUNT. O padrão é SELECT_ACCOUNT, portanto, um determinado usuário será solicitado a selecionar a conta à qual se conectar. Se estiver definido como CONSENT, o usuário verá uma página de consentimento todas as vezes, mesmo que já tenha dado consentimento ao aplicativo para um determinado conjunto de escopos. Por fim, se for definido como NONE, nenhuma tela de autenticação ou consentimento será exibida ao usuário. O valor padrão é SELECT_ACCOUNT. |
AccessType | String | Este campo indica se seu aplicativo precisa acessar uma API do Google quando o usuário não está presente no navegador. Este parâmetro é padronizado como OFFLINE. Se seu aplicativo precisar atualizar os tokens de acesso quando o usuário não estiver presente no navegador, use OFFLINE. Isso fará com que seu aplicativo obtenha um token de atualização na primeira vez que seu aplicativo trocar um código de autorização para um usuário. Os valores permitidos são ONLINE, OFFLINE. O valor padrão é OFFLINE. |
State | String | Este campo 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 ao servidor de autorização do Google. Os usos possíveis incluem redirecionar o usuário para o recurso correto em seu site, usar nonces e atenuar a falsificação de solicitação entre sites. |
Colunas do Conjunto de Resultados
Nome | Tipo | Descrição |
---|---|---|
URL | String | A URL para concluir a autenticação do usuário. |
RefreshOAuthAccessToken
Obtém o token de acesso OAuth para ser usado para autenticação com vários serviços do Google.
Entrada
Nome | Tipo | Descrição |
---|---|---|
OAuthRefreshToken | String | O token de atualização retornado da troca do código de autorização original. |
Colunas do Conjunto de Resultados
Nome | Tipo | Descrição |
---|---|---|
OAuthAccessToken | String | O token de autenticação retornado do Google. Isso pode ser usado em chamadas subseqüentes para outras operações para este serviço específico. |
OAuthRefreshToken | String | O token de autenticação retornado do Google. Isso pode ser usado em chamadas subseqüentes para outras operações para este serviço específico. |
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 o Google Spanner:
- sys_catalogs: Lista os bancos de dados disponíveis.
- sys_schemas: Lista os esquemas disponíveis.
- sys_tables: Lista as tabelas e exibições disponíveis.
- sys_tablecolumns: Descreve as colunas das tabelas e exibições disponíveis.
- sys_procedures: Descreve os procedimentos armazenados disponíveis.
- sys_procedureparameters: Descreve procedimento armazenado* parâmetros.
- sys_keycolumns: Descreve as chaves primárias e estrangeiras.
- sys_indexes: Descreve os índices disponíveis.
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, incluindo operações em lote:
- 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 exibiçã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 [].[GoogleSpanner].Customer:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Customer' AND CatalogName='' AND SchemaName='GoogleSpanner'
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 SelectEntries:
SELECT * FROM sys_procedureparameters WHERE ProcedureName='SelectEntries' 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 [].[GoogleSpanner].Customer:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Customer' AND CatalogName='' AND SchemaName='GoogleSpanner'
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), agrupado (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:googlespanner: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 está 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.
Descobrindo os Recursos SELECT da Fonte de Dados
Abaixo está um exemplo de conjunto de dados de recursos SQL. 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. |
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.
Propriedade | Descrição |
---|---|
AuthScheme | O tipo de autenticação a ser usado ao se conectar ao Google Spanner. |
InstanceId | O ID da instância do Google Spanner à qual você está se conectando. |
Database | O nome do banco de dados do Google Spanner ao qual se conectar. |
ProjectId | O ID do projeto em que sua instância do Google Spanner reside. |
UseGrpcEndpoint | Se deve usar o endpoint Grpc ou não. |
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. |
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. |
Propriedade | Descrição |
---|---|
OAuthJWTCert | A loja de certificados JWT. |
OAuthJWTCertType | O tipo de armazenamento de chaves que contém o certificado JWT. |
OAuthJWTCertPassword | A senha para o certificado OAuth JWT. |
OAuthJWTCertSubject | O assunto do certificado OAuth JWT. |
OAuthJWTIssuer | O emissor do Java Web Token. |
OAuthJWTSubject | O assunto do usuário para o qual o aplicativo está solicitando acesso delegado. |
Propriedade | Descrição |
---|---|
SSLServerCert | O certificado a ser aceito do servidor ao conectar usando TLS/SSL. |
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. |
Schema | O esquema que será usado por padrão. |
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. |
Other | Essas propriedades ocultas são usadas apenas em casos de uso específicos. |
PseudoColumns | Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela. |
QueryPassthrough | Essa opção passa a consultar para o servidor do Google Spanner como está. |
Timeout | O valor em segundos até que o erro de timeout seja lançado, cancelando a operação. |
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 Google Spanner. |
InstanceId | O ID da instância do Google Spanner à qual você está se conectando. |
Database | O nome do banco de dados do Google Spanner ao qual se conectar. |
ProjectId | O ID do projeto em que sua instância do Google Spanner reside. |
UseGrpcEndpoint | Se deve usar o endpoint Grpc ou não. |
AuthScheme
O tipo de autenticação a ser usado ao se conectar ao Google Spanner.
Valores Possíveis
Auto
, OAuth
, OAuthJWT
, GCPInstanceAccount
Tipo de Dados
string
Valor Padrão
"Auto"
Observações
- Auto: permite que o driver decida automaticamente com base nas outras propriedades de conexão que você definiu.
- OAuth: Defina para executar a autenticação OAuth usando uma conta de usuário padrão.
- OAuthJWT: defina para executar a autenticação OAuth usando uma conta de serviço OAuth.
- GCPInstanceAccount: defina para obter o token de acesso da instância do Google Cloud Platform.
InstanceId
O ID da instância do Google Spanner à qual você está se conectando.
Tipo de Dados
string
Valor Padrão
""
Observações
O endereço da instância do Google Spanner à qual você está se conectando. Você pode encontrar esse valor na visão geral da instância. As instâncias serão listadas assim que você selecionar Spanner no menu do Console do Google Cloud.
Base de Dados
O nome do banco de dados do Google Spanner ao qual se conectar.
Tipo de Dados
string
Valor Padrão
""
Observações
O nome do banco de dados do Google Spanner ao qual se conectar.
ProjectId
O ID do projeto em que sua instância do Google Spanner reside.
Tipo de Dados
string
Valor Padrão
""
Observações
O ID do projeto em que sua instância do Google Spanner reside. Você pode encontrar esse valor acessando o Google Cloud Console e clicando no nome do projeto na parte superior esquerda da tela. O ProjectId é exibido na coluna ID do projeto correspondente.
UseGrpcEndpoint
Se deve usar o endpoint Grpc ou não.
Tipo de Dados
bool
Valor Padrão
true
Observações
Esta propriedade determina se o endpoint Grpc será usado ou não. A maioria dos proxies não funcionará com o endpoint Grpc. Se definido como falso, o endpoint protobuf será usado. O último tem problemas com valores NULL, mas os proxies funcionarão nele.
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. |
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:
OFF
: Indica que o fluxo OAuth será tratado inteiramente pelo usuário. Um OAuthAccessToken será necessário para autenticação.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.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.
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. Definir 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á.
JWT OAuth
Esta seção fornece uma lista completa das propriedades JWT OAuth que você pode configurar.
Propriedade | Descrição |
---|---|
OAuthJWTCert | A loja de certificados JWT. |
OAuthJWTCertType | O tipo de armazenamento de chaves que contém o certificado JWT. |
OAuthJWTCertPassword | A senha para o certificado OAuth JWT. |
OAuthJWTCertSubject | O assunto do certificado OAuth JWT. |
OAuthJWTIssuer | O emissor do Java Web Token. |
OAuthJWTSubject | O assunto do usuário para o qual o aplicativo está solicitando acesso delegado. |
OAuthJWTCert
A loja de certificados JWT.
Tipo de Dados
string
Valor Padrão
""
Observações
O nome do armazenamento de certificados para o certificado do cliente.
O OAuthJWTCertType campo especifica o tipo de armazenamento de certificado especificado por OAuthJWTCert
. Se o armazenamento estiver protegido por senha, especifique a senha em OAuthJWTCertPassword.
OAuthJWTCert
é usado em conjunto com o OAuthJWTCertSubject para especificar os certificados do cliente. Se OAuthJWTCert
tem um valor e OAuthJWTCertSubject for definido, uma pesquisa por um certificado será iniciada. Consulte OAuthJWTCertSubject para obter detalhes.
As designações de armazenamentos de certificados dependem da plataforma.
A seguir estão as designações dos armazenamentos de certificados de Usuário e Máquina mais comuns no Windows:
Propriedade | Descrição |
---|---|
MY | Um armazenamento de certificados que contém certificados pessoais com suas chaves privadas associadas. |
CA | Certificados de autoridade certificadora. |
ROOT | Certificados raiz. |
SPC | Certificados de editor de software. |
Em Java, o armazenamento de certificados normalmente é um arquivo contendo certificados e chaves privadas opcionais.
Quando o tipo de armazenamento de certificado for PFXFile, essa propriedade deverá ser configurada para o nome do arquivo. Quando o tipo é PFXBlob, a propriedade deve ser configurada para o conteúdo binário de um arquivo PFX (ou seja, armazenamento de certificados PKCS12).
OAuthJWTCertType
O tipo de armazenamento de chaves que contém o certificado JWT.
Valores Possíveis
USER
, MACHINE
, PFXFILE
, PFXBLOB
, JKSFILE
, JKSBLOB
, PEMKEY_FILE
, PEMKEY_BLOB
, PUBLIC_KEY_FILE
, PUBLIC_KEY_BLOB
, SSHPUBLIC_KEY_FILE
, SSHPUBLIC_KEY_BLOB
, P7BFILE
, PPKFILE
, XMLFILE
, XMLBLOB
, GOOGLEJSON
, GOOGLEJSONBLOB
Tipo de Dados
string
Valor Padrão
"USER"
Observações
Esta propriedade pode assumir um dos seguintes valores:
Propriedade | Descrição |
---|---|
USER | Para Windows, isso especifica que o armazenamento de certificados é um armazenamento de certificados pertencente ao usuário atual. Nota: Este tipo de loja não está disponível em Java. |
MACHINE | Para Windows, isso especifica que o armazenamento de certificados é um armazenamento de máquina. Nota: este tipo de loja não está disponível em Java. |
PFXFILE | O armazenamento de certificados é o nome de um arquivo PFX (PKCS12) que contém certificados. |
PFXBLOB | O armazenamento de certificados é uma string (codificada em base 64) que representa um armazenamento de certificados no formato PFX (PKCS12). |
JKSFILE | O armazenamento de certificados é o nome de um arquivo de armazenamento de chaves Java (JKS) que contém certificados. Nota: este tipo de loja só está disponível em Java. |
JKSBLOB | O armazenamento de certificados é uma sequência (codificada em base 64) que representa um armazenamento de certificados no formato Java key store (JKS). Nota: este tipo de loja só está disponível em Java. |
PEMKEY_FILE | O armazenamento de certificados é o nome de um arquivo codificado por PEM que contém uma chave privada e um certificado opcional. |
PEMKEY_BLOB | O armazenamento de certificados é uma string (codificada em base64) que contém uma chave privada e um certificado opcional. |
PUBLIC_KEY_FILE | O armazenamento de certificados é o nome de um arquivo que contém um certificado de chave pública codificado por PEM ou DER. |
PUBLIC_KEY_BLOB | O armazenamento de certificados é uma string (codificada em base 64) que contém um certificado de chave pública codificado em PEM ou DER. |
SSHPUBLIC_KEY_FILE | O armazenamento de certificados é o nome de um arquivo que contém uma chave pública de estilo SSH. |
SSHPUBLIC_KEY_BLOB | O armazenamento de certificados é uma string (codificada em base 64) que contém uma chave pública de estilo SSH. |
P7BFILE | O armazenamento de certificados é o nome de um arquivo PKCS7 contendo certificados. |
PPKFILE | O armazenamento de certificados é o nome de um arquivo que contém um PPK (PuTTY Private Key). |
XMLFILE | O armazenamento de certificados é o nome de um arquivo que contém um certificado no formato XML. |
XMLBLOB | O armazenamento de certificados é uma string que contém um certificado no formato XML. |
GOOGLEJSON | O armazenamento de certificados é o nome de um arquivo JSON que contém as informações da conta de serviço. Válido apenas ao conectar-se a um serviço do Google. |
GOOGLEJSONBLOB | O armazenamento de certificados é uma string que contém o JSON da conta de serviço. Válido apenas ao conectar-se a um serviço do Google. |
OAuthJWTCertPassword
A senha para o certificado OAuth JWT.
Tipo de Dados
string
Valor Padrão
""
Observações
Se o armazenamento de certificados for de um tipo que requer uma senha, essa propriedade será usada para especificar essa senha para abrir o armazenamento de certificados.
Isso não é necessário ao usar o GOOGLEJSON OAuthJWTCertType. As chaves JSON do Google não são criptografadas.
OAuthJWTCertSubject
O assunto do certificado OAuth JWT.
Tipo de Dados
string
Valor Padrão
"\*"
Observações
Ao carregar um certificado, o assunto é usado para localizar o certificado na loja.
Se uma correspondência exata não for encontrada, a loja é pesquisada em busca de assuntos que contenham o valor da propriedade.
Se uma correspondência ainda não for encontrada, a propriedade será definida como uma string vazia e nenhum certificado será selecionado.
O valor especial "*" seleciona o primeiro certificado no armazenamento de certificados.
O assunto do certificado é uma lista separada por vírgulas de campos e valores de nomes distintos. Por exemplo, "CN=www.server.com, OU=test, C=US, E=support@jitterbit.com". Os campos comuns e seus significados são exibidos abaixo.
Campo | Significado |
---|---|
CN | Nome comum. Geralmente, é um nome de hospedar como www.server.com. |
O | Organização |
OU | Unidade Organizacional |
L | Localidade |
S | Estado |
C | País |
E | Endereço E-mail |
Se um valor de campo contiver uma vírgula, ela deverá ser colocada entre aspas.
OAuthJWTIssuer
O emissor do Java Web Token.
Tipo de Dados
string
Valor Padrão
""
Observações
O emissor do Java Web Token. Normalmente, é o ID do cliente ou o endereço E-mail do aplicativo OAuth.
Isso não é necessário ao usar o GOOGLEJSON OAuthJWTCertType. As chaves JSON do Google contêm uma cópia da conta do emissor.
OAuthJWTSubject
O assunto do usuário para o qual o aplicativo está solicitando acesso delegado.
Tipo de Dados
string
Valor Padrão
""
Observações
O assunto do usuário para o qual o aplicativo está solicitando acesso delegado. Normalmente, o nome da conta do usuário ou endereço de e-mail.
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. |
Schema | O esquema que será usado por padrão. |
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%\\\GoogleSpanner 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%\\GoogleSpanner 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 muitos 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.
Esquema
O esquema que será usado por padrão.
Tipo de Dados
string
Valor Padrão
""
Observações
O esquema que será usado por padrão.
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. |
Other | Essas propriedades ocultas são usadas apenas em casos de uso específicos. |
PseudoColumns | Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela. |
QueryPassthrough | Essa opção passa a consultar para o servidor do Google Spanner como está. |
Timeout | O valor em segundos até que o erro de timeout seja lançado, cancelando a operaçã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.
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.
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. |
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, "*=*".
QueryPassthrough
Essa opção passa a consultar para o servidor do Google Spanner como está.
Tipo de Dados
bool
Valor Padrão
false
Observações
Quando isso é definido, as consultas são passadas diretamente para o Google Spanner.
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.