Importa dados de diversas origens de dados compatíveis com ODBC.

O comando assume a forma ACCESSDATA64 ou ACCESSDATA32, dependendo do driver do ODBC que você estiver usando (64 ou 32 bits).

{ACCESSDATA64 | ACCESSDATA32} {CONNECTOR | ODBC {"Driver"|"Dsn"|"File"}} NAME valor <USER id_do_usuário> <PASSWORD num | PROMPT_PASSWORD> TO nome_tabela CHARMAX comprimento_máx_do_campo MEMOMAX comprimento_máx_do_campo <ALLCHARACTER> SOURCE (configurações_da_conexão) <HASH(valor_de_origem, campos)>
SQL_QUERY
(sintaxe_SQL)
END_QUERY
Nome Descrição
CONNECTOR | ODBC {"Driver"|"Dsn"|"File"}

O tipo de conexão ODBC que você deseja fazer:

  • CONNECTOR – conecte usando um conector de dados nativo do Analytics
  • ODBC "Driver" – conecte usando um driver ODBC do Windows instalado no seu computador
  • ODBC "Dsn" – conecte usando um DSN (nome de origem de dados) salvo em seu computador
  • ODBC "File" – conecte usando um DSN em arquivo (um arquivo .dsn salvo)
NAME valor

O nome do conector de dados do Analytics, do driver ODBC ou do DSN.

Por exemplo:

  • NAME "Amazon Redshift"
  • NAME "Microsoft Access Driver (*.mdb, *.accdb)"
  • NAME "My Excel DSN"
  • NAME "excel.dsn"

USER id_do_usuário

opcional

O ID de usuário para origens dos dados que exigem um ID de usuário.

PASSWORD num | PROMPT_PASSWORD

opcional

Para origens de dados que exigem uma senha:

  • PASSWORD num use a definição de senha numerada
  • PROMPT_PASSWORD exibe uma solicitação de senha

    A solicitação de senha também permite que o id_do_usuário seja alterado.

Se usar PASSWORD num, você deverá especificar uma definição de senha criada anteriormente. Para obter mais informações, consulte Comando PASSWORD e Comando SET.

Dica

O uso do comando PASSWORD com PASSWORD num é semelhante ao uso do parâmetro PROMPT_PASSWORD. As duas abordagens solicitam ao usuário uma senha. PROMPT_PASSWORD tem o benefício de permitir a atualização do id_do_usuário.

TO nome_tabela

A localização para onde enviar os resultados do comando:

  • nome_tabela salva os resultados em uma tabela do Analytics

    Especifique nome_tabela como uma cadeia entre aspas com uma extensão de arquivo .FIL. For exemplo: TO "Saída.FIL"

    Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto do Analytics.

    Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em uma pasta diferente já existente:

    • TO "C:\Saída.FIL"
    • TO "Resultados\Saída.FIL"

    Nota

    Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem contar a extensão .FIL. O nome pode incluir o caractere de sublinhado ( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome não pode começar com um número.

CHARMAX tamanho_máximo_do_campo

O tamanho máximo em caracteres de qualquer campo na tabela do Analytics originada como dados caractere no arquivo de dados de origem que você está importando.

O valor padrão é 50. Dados que ultrapassem o comprimento máximo do campo são truncados quando importados para o Analytics.

MEMOMAX tamanho_máximo_do_campo

O comprimento máximo, em caracteres, do texto, anotação ou campos de memorando que você está importando.

O valor padrão é 100. Dados que ultrapassem o comprimento máximo do campo são truncados quando importados para o Analytics.

ALLCHARACTER

opcional

Atribui automaticamente o tipo de dados caractere a todos os campos importados.

Quando os dados estiverem no Analytics, você poderá atribuir aos campos tipos de dados diferentes, como numérico ou datahora, e especificar detalhes de formato.

Dica

ALLCHARACTER é útil na importação de uma tabela que contém valores numéricos de identificação. Você pode usar ALLCHARACTER para evitar que o Analytics atribua automaticamente o tipo de dados numérico a valores que deveriam usar o tipo de dados caractere.

SOURCE configurações_de_conexão

As configurações de conexão (cadeia de conexão) exigidas para conectar à origem de dados.

HASH(valor_de_origem; campos)

opcional

Importa os campos especificados como valores de hash criptográfico. Os valores de hash são transformações unidirecionais e não podem ser decodificados após a importação dos campos:

  • valor_de_origem uma cadeia alfanumérica, concatenada aos valores dos dados de origem, para fortalecer o hashing dos valores nos campos. Insira o valor do hash como uma cadeia entre aspas.

    O valor de origem é limitado a 128 caracteres. Não use nenhum dos seguintes caracteres: ()"

  • campos uma lista de um ou mais campos onde o hash será aplicado. Insira os campos como uma cadeia entre aspas e separe cada campo com uma vírgula.

    Você deve especificar o nome do campo exibido na visualização da janela Acesso a Dados e na área de preparação, e não o nome do campo na origem de dados.

    Nota

    O nome do campo exibido na visualização da janela Acesso a Dados é o valor do alias do campo na consulta SQL ("nome_campo" AS "alias"). Você deve usar o valor do alias para fazer referência a campos.

HASH("QZ3x7"; "SSN_NO, CC_NO, Last_Name")

Para obter informações sobre a comparação entre valores com hash aplicado durante a importação e valores com hash aplicado no ACLScript, consulte Comparação entre dados com hash aplicado pelo ACCESSDATA e dados com hash aplicado pela função ACLScript HASH( ).

SQL_QUERY (sintaxe_SQL) END_QUERY

A instrução de importação do SQL.

Tudo dentro dos parênteses é parte da consulta SQL e deve ter uma sintaxe SQL válida.

Importação de dados usando um conector de dados nativo do Analytics

Você precisa importar dados do serviço de dados de nuvem Amazon Redshift. Para fazer isso, você precisa do conector de dados para Amazon Redshift do Analytics:

ACCESSDATA64 CONNECTOR NAME "Amazon Redshift" USER "usuário_do_ACL" PROMPT_PASSWORD TO "Entitlement_History.FIL" CHARMAX 50 MEMOMAX 100
  SOURCE( boolsaschar=0;cachesize=100;database=usage;declarefetchmode=0;maxbytea=255;maxlongvarchar=8190;maxvarchar=255;port=5439;servername=acl_test.highbond.com;singlerowmode=1;sslmode=require;textaslongvarchar=0;usemultiplestatments=0;useunicode=1)
  SQL_QUERY(
    SELECT
      "histórico_de_direitos"."organização" AS "organização",
      "histórico_de_direitos"."email_do_usuário" AS "email_do_usuário",
      "histórico_de_direitos"."id_do_plano" AS "id_do_plano",
      "histórico_de_direitos"."a_partir_de" AS "a_partir_de",
      "histórico_de_direitos"."até" AS "até"
    FROM
      "prm"."histórico_de_direitos" "histórico_de_direitos"
)) END_QUERY

Importação de dados usando um driver ODBC do Windows

Você precisa importar dados de um banco de dados do Microsoft Access. Para isso, você usa um driver ODBC do Windows para conectar-se ao MS Access e concluir a importação:

ACCESSDATA32 ODBC "Driver" NAME "Driver do Microsoft Access (*.mdb)" TO "Faturas.FIL" CHARMAX 50 MEMOMAX 100
  SOURCE( dbq=C:\Users\lachlan_murray\Documents\ACL Data\Arquivos de dados de amostra\Sample.mdb;defaultdir=C:\Users\lachlan_murray\Documents\ACL Data\Arquivos de dados de amostra;driverid=281;fil=MS Access;maxbuffersize=2048;maxscanrows=8;pagetimeout=5;safetransactions=0;threads=3;usercommitsync=Yes)
  SQL_QUERY(
    SELECT
      `Cliente`.`ID_Cliente` AS `ID_Cliente`,
      `Cliente`.`Empresa` AS `Empresa`,
      `Cliente`.`Endereço` AS `Endereço`,
      `Cliente`.`Cidade` AS `Cidade`,
      `Cliente`.`Região` AS `Região`,
      `Cliente`.`Código_Postal` AS `Código_Postal`,
      `Cliente`.`País` AS `País`,
      `Cliente`.`Telefone` AS `Telefone`,
      `Pedidos`.`ID_Pedido` AS `ID_Pedido`,
      `Pedidos`.`ID_Cliente` AS `ID_Cliente_Pedidos`,
      `Pedidos`.`ID_Prod` AS `ID_Prod`,
      `Pedidos`.`Data_do_Pedido` AS `Data_do_Pedido`,
      `Pedidos`.`Quantidade` AS `Quantidade`,
      `Produto`.`ID_Prod` AS `ID_Prod_Produto`,
      `Produto`.`Nome_do_Prod` AS `Nome_do_Prod`,
      `Produto`.`Preço_Unitário` AS `Preço_Unitário`,
      `Produto`.`Descrição` AS `Descrição`,
      `Produto`.`Peso_Frete` AS `Peso_Frete`
    FROM
      (`Cliente` `Cliente`
    INNER JOIN
      `Pedidos` `Pedidos`
          ON `Cliente`.`ID_Cliente` = `Pedidos`.`ID_Cliente`
      )
INNER JOIN
    `Produto` `Produto`
      ON `Pedidos`.`ID_Produto` = `Produto`.`ID_Produto`
WHERE
    (
      `Cliente`.`Região` = 'RJ'
      OR `Cliente`.`Região` = 'PR'
    )
  ) END_QUERY

Importação de dados usando um DSN do Windows (nome de origem de dados)

Você precisa importar dados de um arquivo do Microsoft Access. Para isso, você usa um DSN do Windows para conectar-se ao Excel e concluir a importação:

ACCESSDATA32 ODBC "Dsn" NAME "Arquivos do Excel" TO "Trans_Abril_15_data_limite.FIL" CHARMAX 50 MEMOMAX 100
  SOURCE( dbq=C:\Users\lachlan_murray\Documents\ACL Data\Arquivos de dados de amostra\Trans_Abril.xls;defaultdir=C:\Users\lachlan_murray\Documents\ACL Data\Arquivos de dados de amostra;driverid=1046;maxbuffersize=2048;pagetimeout=5)
  SQL_QUERY(
    SELECT
      `Trans_Abr_`.`CARDNUM` AS `CARDNUM`,
      `Trans_Abr_`.`AMOUNT` AS `AMOUNT`,
      `Trans_Abr_`.`TRANS_DATE` AS `TRANS_DATE`,
      `Trans_Abr_`.`CODES` AS `CODES`,
      `Trans_Abr_`.`CUSTNO` AS `CUSTNO`,
      `Trans_Abr_`.`DESCRIPTION` AS `DESCRIPTION`
    FROM
      `Trans_Abr$` `Trans_Abr_`
    WHERE
      (
          `Trans_Abr_`.`TRANS_DATE` <= {ts '2003-04-15 00:00:00'}
      )
  ) END_QUERY

Nota

Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do Analytics.

Atualizações de conector de dados

Quando atualiza o Analytics, o Agente do Robôs ou o Servidor AX, você deve testar todos os scripts que importam dados usando um dos conectores de dados do Analytics (comando ACCESSDATA).

É possível que alterações feitas por fornecedores externos de fontes de dados ou drivers ODBC exigiram atualizações em um ou mais conectores de dados. Pode ser necessário atualizar as conexões de dados com script para que continuem a funcionar corretamente.

  • Execute novamente a importação A maneira mais fácil de atualizar uma conexão é executar manualmente uma importação usando a janela Acesso a Dados na versão atualizada do Analytics. Copie o comando ACCESSDATA do log e use-o para atualizar o script.

    Nota

    Antes de se conectar a uma fonte de dados e executar novamente a importação, limpe o cache do conector para remover o conjunto existente de nomes de tabelas.

    Na guia Conexões existentes na janela Acesso a Dados, ao lado do nome do conector, selecione > Limpar cache.

  • Atualize as especificações de campos Também pode ser necessário atualizar as especificações de campos no corpo do script para compatibilizá-lo com as alterações do esquema da tabela na fonte de dados ou no driver ODBC. As possíveis alterações incluem nomes de campos, tipos de dados de campos e comprimentos de campos e registro.
  • Verifique os resultados de todas as filtragens Você também deve verificar os resultados de qualquer filtragem aplicada durante a importação de dados. Confirme se a filtragem de importação está incluindo e excluindo corretamente os registros.

Criando configurações de conexão ODBC e instruções de importação SQL

As configurações de conexão do ODBC e as instruções de importação do SQL são frequentemente longas e complexas, como mostrado nos exemplos.

A forma mais fácil de criar essas partes do comando ACCESSDATA é primeiro usar uma janela Acesso a Dados no Analytics para conectar-se à origem de dados de destino e importar os dados. Você pode, então, copiar todo o comando ACCESSDATA do log, incluindo as configurações de conexão e instrução de importação, e personalizar o comando conforme necessário.

Valor de senha suprimido

Quando você usa a janela Acesso a Dados no Analytics para executar o comando ACCESSDATA e fornece uma senha, o valor da senha não é gravado no log. Em vez disso, o parâmetro PROMPT_PASSWORD é substituído.

Arquivos de log do ACCESSDATA

Dois arquivos de log registram as transações associadas ao comando ACCESSDATA, e podem ser usados para solucionar problemas se houver falha em uma conexão de dados:

  • ServerDataAccess.log registra todas as atividades e erros anteriores à importação dos dados

    Localização: C:\Usuários\<conta do usuário>\AppData\Local\ACL\ACL for Windows\Data Access\ServerDataAccess.log

    Nota

    O "Server" em ServerDataAccess.log faz referência ao componente de acesso a dados do Analytics executando localmente no computador onde o Analytics está instalado.

  • DataAccess.log registra informações sobre a operação de importação e o projeto do Analytics para onde você está importando os dados

    Localização: ..\<pasta de projeto do Analytics>\DataAccess.log

Comparação entre dados com hash aplicado pelo ACCESSDATA e dados com hash aplicado pela função ACLScript HASH( )

Embora não seja possível ler os valores brutos dos dados com hash aplicado, eles podem ser úteis para combinar ou analisar dados.

Se quiser comparar valores com hash aplicado por ACCESSDATA durante a importação com valores com hash aplicado usando a função HASH( ) do ACLScript, você deverá converter todos os campos numéricos ou datahora do Analytics em valores de caracteres e eliminar todos os espaços à esquerda e à direita antes de aplicar o hash aos dados.

Os campos de datahora devem usar os seguintes formatos na conversão em caracteres:

  • Datahora "AAAA-MM-DD hh:mm:ss"
  • Data "AAAA-MM-DD"
  • Hora "hh:mm:ss"

O exemplo a seguir usa as funções STRING( ) e ALLTRIM( ) para converter um campo numérico de número de cartão de crédito em dados de caracteres antes de aplicar hash ao valor usando a função HASH( ) do ACLScript:

COMMENT Função HASH do ACL usada após a importação de dados
HASH(ALLTRIM(STRING(CC_No; 16)); "QZ3x7")

Após aplicar hash aos valores do Analytics, você poderá compará-los com os valores com hash aplicado na importação pelo comando ACCESSDATA.