Ir para o conteúdo

Detalhes da Conexão Odoo

Introdução

Versão do conector

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

Começando

Suporte à versão Odoo

O conector pode se conectar ao Odoo versão 8 e superior. O conector aproveita a interface XML-RPC do Odoo, que é disponibilizada por padrão na versão local e por muitos serviços de hospedagem, como odoo.sh

Estabelecendo uma Conexão

Conectando ao Odoo

Para conectar, defina o URL para um site Odoo válido, User e APIToken aos detalhes de conexão do usuário com o qual você está se conectando e Database para o banco de dados Odoo.

Se você não estiver usando tokens de API (eles são suportados apenas no Odoo 14 e superior), você também pode fornecer a senha no APIToken campo.

Direitos de Acesso

Para que o conector determine quais modelos você pode acessar no Odoo, o usuário com o qual você se conecta deve ter permissões para ler de "ir.model.access" (um modelo interno do Odoo que controla os direitos de acesso). Normalmente isso é reservado para administradores, mas pode ser concedido a qualquer usuário criando um grupo de serviço:

  1. Como administrador, abra a página de configurações do Odoo e ative o "modo de desenvolvedor ". Se isso não estiver disponível, talvez seja necessário fazer o login como superusuário.
  2. Abra a página Grupos (no menu suspenso Usuários) e crie um novo grupo
  3. Defina o aplicativo como "Administração" e o nome como "Acesso ao serviço"
  4. Adicione todos os usuários que precisam de acesso ao serviço na aba Usuários
  5. Na aba Access Rights, adicione uma entrada para o objeto "ir.model.access" (pode ser chamado de "Model Access"), marque Read Access e dê a ele o nome "Inspect Models"
  6. Salve o grupo

Se não for possível fazer essa alteração, você deve definir o CheckPermissions opção para falso. Isso listará todos os modelos no Odoo como tabelas, independentemente de quais permissões seu usuário realmente tenha para esses modelos.

Características Avançadas

Esta seção detalha uma seleção de recursos avançados do conector Odoo.

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 Odoo 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 res_users 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

O conector representa os modelos Odoo como tabelas e exibições relacionais. As definições da tabela são obtidas dinamicamente do site Odoo ao qual você se conecta, e as exatas que estarão disponíveis para você serão diferentes dependendo dos aplicativos que você instalou. As tabelas listadas aqui são apenas exemplos, que podem diferir das disponíveis para você.

Mesas

Ao conectar, o conector determina quais modelos você pode modificar e quais são somente leitura. Os modelos que podem ser modificados são representados como tabelas, que possuem suporte para leitura, inserção, atualização e exclusão de dados.

Visualizações

Todos os modelos que são somente leitura são representados como exibições. Você pode ler os dados deles da mesma forma que faria em uma tabela, mas inserir, atualizar e excluir não são permitidos.

Colunas Many2One, One2Many e Many2Many

No Odoo, além de colunas com valores simples como texto e datas, também existem colunas que contêm vários valores em cada linha. O conector decodifica esses tipos de valores de maneira diferente, dependendo do tipo de coluna de onde vem o valor:

Muitos2Um

As colunas Many2One são referências a uma única linha dentro de outro modelo. Dentro do conector, as colunas Many2One são representadas como números inteiros, cujo valor é o ID a que se referem no outro modelo.

Por exemplo, o módulo Calendário inclui um modelo para eventos chamado "calendar_event", que possui uma coluna chamada "opportunity_id" que se refere a uma oportunidade no modelo "crm_lead". Ao criar ou atualizar um evento de calendário, você pode definir o id_da oportunidade como o ID do lead para o qual a reunião se destina:

INSERT INTO calendar_event(name, start, stop, opportunity_id) VALUES ('Meet With Potential Customer', '...', '...', 42)

Se você lesse esse evento posteriormente, o valor de id_da oportunidade seria o número 42.

Muitos2muitos

As colunas Many2Many são referências a muitas linhas dentro de outro modelo. Dentro do conector, as colunas Many2Many são representadas como texto contendo uma lista de números inteiros separados por vírgula. Cada valor nessa lista é o ID de uma linha que está sendo referenciada.

Por exemplo, o módulo Calendário inclui um modelo para eventos chamado "calendar_event", que possui uma coluna chamada "partner_ids" que se refere a contatos no modelo "res_partner". Ao criar ou atualizar um evento de calendário, você pode definir o partner_ids para os ids das pessoas que estão participando da reunião:

INSERT INTO calendar_event(name, start, stop, partner_ids) VALUES ('Meet With Potential Customer', '...', '...', '13,57')

Se você fosse ler este evento mais tarde, o valor de partner_ids seria o texto "13,57" (ou "57,13", já que os ids podem estar em qualquer ordem).

Um2Muitos

As colunas One2Many são referências a muitas linhas dentro de outro modelo - elas são semelhantes às colunas Many2Many, exceto que cada linha no modelo referenciado deve pertencer a apenas uma no modelo principal.

Por exemplo, o módulo Calendário inclui um modelo para eventos chamado "calendar_event", que possui uma coluna chamada "attendee_ids" que se refere aos convites de reunião armazenados no modelo "event_attendee". Ao contrário de partner_ids, onde diferentes reuniões podem compartilhar os mesmos parceiros e diferentes parceiros podem ir à mesma reunião, cada convite é vinculado a apenas um evento.

Atualmente, essas colunas são lidas da mesma forma que as colunas Many2Many (como texto contendo uma lista de ids separados por vírgulas), mas não podem ser gravadas.

Visualizações

As exibições são compostas por colunas e pseudocolunas. As exibições são semelhantes às tabelas na forma como os dados são representados; no entanto, as exibições não oferecem suporte a atualizações. Entidades que são representadas como exibições são normalmente entidades somente leitura. Frequentemente, um procedimento armazenado* está disponível para atualizar os dados se tal funcionalidade for aplicável à fonte de dados.

As consultas podem ser executadas em uma exibição como se fosse uma tabela normal, e os dados retornados são semelhantes nesse aspecto. Para saber mais sobre tabelas e procedimentos armazenados, navegue até as entradas correspondentes neste documento de ajuda.

Conector Jitterbit para Odoo Views

Nome Descrição
FieldReferences Recupera referências de valor único e de vários valores de uma tabela.

Referências de Campo

Recupera referências de valor único e de vários valores de uma tabela.

Colunas
Nome Tipo Referências Descrição
ReferenceTable String O nome da tabela que contém o campo de referência.
ReferenceColumn String O nome da coluna que se refere a outro campo.
TargetTable String O nome da tabela visada pela referência.
IsMultiValued Boolean Se a coluna de referência contém vários valores.

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 Odoo

Nome Descrição
CallProcedure Chama um RPC do lado do servidor no Odoo.

CallProcedure

Chama um RPC do lado do servidor no Odoo.

Informações Específicas do Procedimento

Odoo expõe seus RPCs usando a API externa. Essa API usa um método XML-RPC chamado execute_kw para chamar procedimentos Odoo em módulos específicos. Internamente o método se parece com isso:

execute_kw(database, user_id, password, model, operation, arguments, keyword_args)

O conector fornecerá as informações de conexão automaticamente, portanto, os únicos parâmetros necessários para CallProcedure são o modelo, a operação, uma lista de argumentos e um mapa de argumentos de palavra-chave. Os argumentos e os argumentos de palavra-chave são fornecidos como uma matriz e um objeto JSON, respectivamente. O conector receberá o resultado do RPC e o converterá novamente em JSON para a saída do procedimento.

Por exemplo, você pode chamar o método 'read' no modelo 'hr.employee' para ler informações sobre funcionários específicos. Nesse caso, você recuperaria o nome e o departamento dos funcionários com os IDs 2 e 4:

EXECUTE CallProcedure
  Model = 'hr.employee',
  Operation = 'read',
  -- The read RPC takes one argument, which is the list of IDs
  Arguments = '[[4, 2]]',
KeywordArgs = '{"fields": ["department_id", "name"]}'

Chamar este procedimento nos dados de amostra Odoo retornará este resultado JSON:

[
  {"department_id": [4, "Pesquisa e Desenvolvimento"], "id": 4, "name": "Sharlene Rhodes"},
  {"department_id": [4, "Pesquisa e Desenvolvimento"], "id": 2, "name": "Ronnie Hart"}
]
Entrada
Nome Tipo Descrição
Model String O modelo no qual executar o procedimento.
Operation String O procedimento a ser executado.
Arguments String A lista de argumentos para passar para o RPC, formatada como uma lista JSON
KeywordArgs String Os argumentos de palavra-chave a serem passados para o RPC, formatados como um objeto JSON
Colunas do Conjunto de Resultados
Nome Tipo Descrição
JSON String A saída do RPC convertida em JSON.

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 Odoo:

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 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 res_users:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='res_users' 
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 CallProcedure:

SELECT * FROM sys_procedureparameters WHERE ProcedureName='CallProcedure' 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 res_users:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='res_users'
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:odoo: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. 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.

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
URL A URL base do site Odoo ao qual você está se conectando. Por exemplo, http://my.odoo.com/.
Database O nome do banco de dados Odoo ao qual você está se conectando.
User A conta de usuário Odoo usada para autenticação.
APIToken O token de API (ou senha) usado para autenticar o usuário.
CheckPermissions Se deve usar as permissões do usuário Odoo para determinar quais tabelas e exibições devem ser listadas.

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 exibições relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA, ViewB, ViewC.
AllowComputedFields Booleano que determina se os nomes calculados do Odoo são mapeados para colunas.
ExpandReferences Booleano que determina se os campos Many2Many e One2Many de vários valores são expandidos em linhas separadas.
UseDisplayNames Booleano que determina se os nomes de exibição das colunas devem ser usados em vez dos nomes da API.

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.
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 Odoo.
PseudoColumns Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela.
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
URL A URL base do site Odoo ao qual você está se conectando. Por exemplo, http://my.odoo.com/.
Database O nome do banco de dados Odoo ao qual você está se conectando.
User A conta de usuário Odoo usada para autenticação.
APIToken O token de API (ou senha) usado para autenticar o usuário.
CheckPermissions Se deve usar as permissões do usuário Odoo para determinar quais tabelas e exibições devem ser listadas.

URL

A URL base do site Odoo ao qual você está se conectando. Por exemplo, http://my.odoo.com/.

Tipo de Dados

string

Valor Padrão

""

Observações

A URL base do site Odoo ao qual você está se conectando. Por exemplo, http://my.odoo.com/.

Base de Dados

O nome do banco de dados Odoo ao qual você está se conectando.

Tipo de Dados

string

Valor Padrão

""

Observações

Ao conectar-se ao Odoo online, esse valor geralmente é o nome do seu domínio personalizado do Odoo. Por exemplo, se você se conectar a https://contoso.odoo.com, o banco de dados deve ser definido como contoso.

Ao conectar-se a uma instância local do Odoo, você pode encontrar esse valor saindo do Odoo e abrindo a página Gerenciar bancos de dados na tela de login. Lá, você pode determinar o banco de dados ao qual precisa se conectar.

Do Utilizador

A conta de usuário Odoo usada para autenticação.

Tipo de Dados

string

Valor Padrão

""

Observações

Juntamente com APIToken, este campo é usado para autenticação no servidor Odoo.

APIToken

O token de API (ou senha) usado para autenticar o usuário.

Tipo de Dados

string

Valor Padrão

""

Observações

Ao usar o Odoo 14 e superior, essa opção pode ser definida como um token de API ou senha. Os tokens de API são recomendados em vez de senhas.

VerificarPermissões

Se deve usar as permissões do usuário Odoo para determinar quais tabelas e exibições devem ser listadas.

Tipo de Dados

bool

Valor Padrão

true

Observações

Cada usuário no Odoo tem permissões diferentes para alguns modelos - eles podem modificar alguns, ler outros e podem não conseguir acessar alguns. Quando CheckPermissions é true (o padrão), as permissões do modelo são examinadas para que os modelos modificáveis sejam classificados como tabelas, os modelos somente leitura sejam classificados como exibições e os modelos inacessíveis não sejam listados.

Quando CheckPermissions é falso, todos os modelos no Odoo são listados como tabelas e a verificação de permissões é ignorada.

A verificação das permissões do modelo exige que um administrador conceda ao usuário acesso somente leitura ao modelo "ir.model.access" porque, por padrão, ele não pode ser lido pela maioria dos usuários. Se o acesso a esse modelo não puder ser concedido ao usuário conectado, defina essa opção como false.

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.
AllowComputedFields Booleano que determina se os nomes calculados do Odoo são mapeados para colunas.
ExpandReferences Booleano que determina se os campos Many2Many e One2Many de vários valores são expandidos em linhas separadas.
UseDisplayNames Booleano que determina se os nomes de exibição das colunas devem ser usados em vez dos nomes da API.

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%\\\Odoo 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%\\ Odoo 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 muitas 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.

AllowComputedFields

Booleano que determina se os nomes calculados do Odoo são mapeados para colunas.

Tipo de Dados

bool

Valor Padrão

false

Observações

Internamente, o Odoo armazena alguns campos diretamente em seu banco de dados e calcula outros campos dinamicamente quando você os solicita. Embora os campos armazenados geralmente sejam rápidos para recuperar, os campos computados podem ser muito mais lentos, pois o Odoo precisa fazer um trabalho adicional em cada linha.

Por padrão, essa propriedade é falsa e os campos calculados não estão disponíveis. Você pode definir essa propriedade como true se precisar acessar um campo calculado, embora isso faça com que as consultas (incluindo as consultas em estrela) em muitas tabelas demorem mais para serem executadas.

ExpandReferências

Booleano que determina se os campos Many2Many e One2Many de vários valores são expandidos em linhas separadas.

Tipo de Dados

bool

Valor Padrão

false

Observações

Por padrão, os campos Many2Many e One2Many são reduzidos em valores únicos separados por vírgulas. Por exemplo, um registro em IDs calendar_event gerará um resultado como este se os parceiros 13 e 57 estiverem participando.

SELECT id, name,                           partner_ids, x_custom_ids FROM calendar_event
--      1  'Meet With Potential Customer'  '13,57'      '1,2'

Com essa opção habilitada, o conector expandirá cada combinação de valores de campo com vários valores em várias linhas. Isso significa que os dados da linha serão duplicados, mas torna mais simples o JOIN entre tabelas vinculadas por referências de vários valores.

Além disso, o conector usará uma chave primária separada chamada id:multi, pois id) não é exclusiva quando as linhas são duplicadas. Essa chave primária é gerada no lado do cliente e seu uso deve ser evitado em filtros, pois depende das linhas exatas retornadas por qualquer filtro avaliado pelo Odoo.

SELECT "id:multi", id, name,                          partner_ids, x_custom_ids FROM calendar_event
--      1:1        1  'Meet With Potential Customer'  13           1
--      1:2        1  'Meet With Potential Customer'  57           1
--      1:3        1  'Meet With Potential Customer'  13           2
--      1:4        1  'Meet With Potential Customer'  57           2

Observe que esta opção não afeta como as inserções são processadas. Se você deseja inserir um registro contendo um campo de vários valores, você deve sempre inserir usando um valor separado por vírgula.

UseDisplayNames

Booleano que determina se os nomes de exibição das colunas devem ser usados em vez dos nomes da API.

Tipo de Dados

bool

Valor Padrão

true

Observações

Os nomes de exibição podem ser alterados no futuro. Defina como false se desejar garantir que os nomes das colunas sejam sempre constantes.

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.
Pagesize O número máximo de resultados a serem retornados por página do Odoo.
PseudoColumns Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela.
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.

Tamanho da Página

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

Tipo de Dados

int

Valor Padrão

5000

Observações

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

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, "*=*".

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.