Importa datos de una variedad de orígenes de datos compatibles con ODBC.

El comando toma la forma de ACCESSDATA64 o ACCESSDATA32; todo depende de si usted está usando un controlador ODBC de 64 bits o de 32 bits.

{ACCESSDATA64 | ACCESSDATA32} {CONNECTOR | ODBC {"Controlador"|"Dsn"|"Archivo"}} NAME valor <USER id_usuario> <PASSWORD núm | PROMPT_PASSWORD> TO nombre_tabla CHARMAX longitud_campo_máx MEMOMAX longitud_campo_máx <ALLCHARACTER> SOURCE (configuración_conexión)<HASH(valor_aleatorio; campos)>
SQL_QUERY
(sintaxis_SQL)
) END_QUERY
Nombre Descripción
CONNECTOR | ODBC {"Controlador"|"Dsn"|"Archivo"}

El tipo de conexión ODBC que desea realizar:

  • CONNECTOR conectar con un conector de datos nativo de Analytics
  • ODBC "Controlador" conectar usando un controlador de ODBC para Windows instalado en su computadora
  • ODBC "Dsn" conectar utilizando un DSN (nombre de origen de datos) guardado en su computadora
  • ODBC "Archivo" conectar utilizando un archivo DSN (un archivo .dsn guardado)
NAME valor

El nombre del conector de datos de Analytics, el controlador de ODBC o el DSN.

Por ejemplo:

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

USER id_usuario

opcional

La identificación de usuario para los orígenes de datos que requieren una ID de usuario.

PASSWORD núm | PROMPT_PASSWORD

opcional

Para orígenes de datos que requieren una contraseña:

  • PASSWORD núm utilice la definición de contraseña numerada.
  • PROMPT_PASSWORD muestra una solicitud de contraseña

    La solicitud de contraseña también permite cambiar el id_usuario.

Si utiliza PASSWORD núm, debe especificar una definición de contraseña creada previamente. Si desea obtener más información, consulte Comando PASSWORD y Comando SET.

Consejo

El uso del comando PASSWORD junto con PASSWORD núm es similar al uso de PROMPT_PASSWORD. Ambos enfoques solicitan una contraseña al usuario. PROMPT_PASSWORD tiene la ventaja de permitir la actualización del id_usuario.

TO nombre_tabla

El lugar al que se deben enviar los resultados del comando:

  • nombre_tabla guarda los resultados en una tabla de Analytics

    Especifique el nombre_tabla como una cadena entre comillas con la extensión de archivo .FIL. Por ejemplo: TO "Salida.FIL"

    Por valor predeterminado, el archivo de datos de la tabla (.FIL) se guarda en la carpeta que contiene el proyecto de Analytics.

    Utilice una ruta de archivo absoluta o relativa para guardar el archivo de datos en una carpeta existente o una diferente:

    • TO "C:\Salida.FIL"
    • TO "Resultados\Salida.FIL"

    Nota

    Los nombres de las tablas tienen un límite de 64 caracteres alfanuméricos, sin incluir la extensión .FIL. El nombre puede incluir un guión bajo ( _ ), pero no puede incluir ningún otro carácter especial ni espacios. El nombre no puede comenzar con un número.

CHARMAX longitud_campo_máx

La longitud máxima en caracteres de cualquier campo en la tabla de Analytics que se origina como datos de carácter en el origen desde el cual está realizando la importación.

El valor predeterminado es 50. Los datos que superen la longitud de campo máxima se truncan al importarlos a Analytics.

MEMOMAX longitud_campo_máx

La longitud máxima en caracteres para los campos de texto, nota o memo que está importando.

El valor predeterminado es 100. Los datos que superen la longitud de campo máxima se truncan al importarlos a Analytics.

ALLCHARACTER

opcional

Asigne automáticamente el tipo de datos de Carácter a todos los campos importados.

Una vez que los datos se encuentran en Analytics, puede asignarles diferentes tipos de datos, como Numéricos o Fechahora, a los campos y especificar los detalles de formato.

Consejo

ALLCHARACTER es útil si está importando una tabla que contiene valores de identificación numéricos. Puede usar ALLCHARACTER para impedir que Analytics asigne automáticamente los tipos de datos Numéricos a valores que deberían usar el tipo de datos de Carácter.

SOURCE configuración_conexión

La configuración de la conexión (cadena de conexión) necesaria para conectarse al origen de datos.

HASH(valor_aleatorio ; campos)

opcional

Importa los campos especificados como valores con cifrado hash criptográfico. Los valores con cifrado hash son transformaciones que no se pueden decodificar después de importar los campos:

  • valor_aleatorio una cadena alfanumérica que está concatenada con los valores de los datos de origen para reforzar el cifrado con hash de los valores de los campos. Introduzca el valor hash como una cadena entre comillas.

    El valor salt se limita a 128 caracteres. No use ninguno de los siguientes caracteres: (  )  "

  • campos una lista de uno o más campos a los que desea aplicar el código hash. Introduzca los campos como una cadena entre comillas y separe cada campo con una coma.

    Debe especificar el nombre de campo que ve en el área de almacenamiento temporal y previsualización de la ventana Data Access, no el nombre del campo físico del origen de los datos.

    Nota

    El nombre del campo que se muestra en la previsualización de la ventana Data Access es el valor de alias del campo en la consulta de SQL ("nombre_del_campo" AS "alias"). Debe usar el valor de alias para hacer referencia a los campos.

HASH("QZ3x7"; "SSN_NO; CC_NO; Apellido")

Si desea información sobre la comparación de valores cifrados con hash durante la importación con valores cifrados con hash en ACLScript, consulte Comparación de los datos cifrados con hash con ACCESSDATA con los datos cifrados con hash con la función HASH( ) de ACLScript.

SQL_QUERY (sintaxis_SQL) END_QUERY

La declaración de importación de SQL.

Todo lo que se encuentre dentro de los paréntesis forma parte de la consulta de SQL y debe ser válido para SQL.

Importación de datos mediante un conector de datos Analytics nativo

Necesita importar datos desde el servicio de datos en la nube Amazon Redshift. Para hacerlo, usted utiliza el conector de datos de Analytics para Amazon Redshift:

ACCESSDATA64 CONNECTOR NAME "Amazon Redshift" USER "Usuario_ACL" PROMPT_PASSWORD TO "historial_autorización.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
      "historial_autorización"."organización" AS "organización", 
      "historial_autorización"."correo_electrónico_usuario" AS "correo_electrónico_usuario",
      "historial_autorización"."id_plan" AS "id_plan",
      "historial_autorización"."fecha_desde" AS "fecha_desde",
      "historial_autorización"."fecha_hasta" AS "fecha_hasta"
    FROM
      "prm"."historial_autorización" "historial_autorización" 
) END_QUERY

Importación de datos con un controlador ODBC de Windows

Necesita importar datos desde una base de datos de Microsoft Access. Para hacerlo, utiliza el controlador ODBC de Windows para conectarse a MS Access y completa la importación:

ACCESSDATA32 ODBC "Controlador" NAME "Controlador Microsoft Access (*.mdb)" TO "Facturas.FIL" CHARMAX 50 MEMOMAX 100
  SOURCE( dbq=C:\Usuarios\lachlan_murray\Documentos\ACL Data\Archivos de datos de muestra\Muestra.mdb;defaultdir=C:\Usuarios\lachlan_murray\Documentos\ACL Data\Archivos de datos de muestra;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`.`Compañía` AS `Compañía`,
      Cliente`.`Dirección` AS `Dirección`,
      `Cliente`.`Ciudad` AS `Ciudad`,
      `Cliente`.`Región` AS `Región`,
      `Cliente`.`Código_Postal` AS `Código_Postal`,
      `Cliente`.`País` AS `País`,
      `Cliente`.`Teléfono` AS `Teléfono`,
      `Pedidos`.`ID_Pedido` AS `ID_Pedido`,
      `Pedidos`.`ID_Cliente` AS `Pedidos_ID_Cliente`,
      `Pedidos`.`ID_Producto` AS `ID_Producto`,
      `Pedidos`.`Fecha_Pedido` AS `Fecha_Pedido`,
      `Pedidos`.`Cantidad` AS `Cantidad`,
      `Producto`.`ID_Producto` AS `Producto_ID_Producto`,
      `Producto`.`Nombre_Producto` AS `Nombre_Producto`,
      `Producto`.`Precio_Unitario` AS `Precio_Unitario`,
      `Producto`.`Descripción` AS `Descripción`,
      `Producto`.`Peso_embarque` AS `Peso_embarque`
    FROM
      (`Cliente` `Cliente`
    INNER JOIN
      `Pedidos` `Pedidos`
          ON `Cliente`.`ID_Cliente` = `Pedidos`.`ID_Cliente`
      )
INNER JOIN 
    `Producto` `Producto`
      ON `Pedidos`.`ID_Producto` = `Producto`.`ID_Producto`
WHERE
    (
      `Cliente`.`Región` = 'BC'
      OR `Cliente`.`Región` = 'WA'
    )
  ) END_QUERY

Importación de datos utilizando un DSN (nombre de origen de datos) de Windows

Necesita importar datos desde un archivo de Microsoft Excel. Para hacerlo, utiliza un DSN de Windows para conectarse a MS Excel y completa la importación:

ACCESSDATA32 ODBC "Dsn" NAME "Archivos Excel" TO "Corte_trans_abril_15.FIL" CHARMAX 50 MEMOMAX 100 SOURCE
  ( dbq=C:\Usuarios\lachlan_murray\Documentos\ACL Data\Archivos de datos de muestra\Trans_abril.xls;defaultdir=C:\Usuarios\lachlan_murray\Documentos\ACL Data\Archivos de datos de muestra;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_Apr_`.`DESCRIPTION` AS `DESCRIPTION`
    FROM
      `Trans_abr$` `Trans_abr_`
    WHERE
      (
          `Trans_abr_`.`TRANS_DATE` <= {ts '2003-04-15 00:00:00'}
      )
  ) END_QUERY

Nota

Si desea obtener más información sobre la forma en la que funciona este comando, consulte Guía de ayuda.

Actualizaciones del conector de datos

Cuando actualiza Analytics, el Agente de Robots o el Servidor de AX, debe comprobar los scripts que importan datos con uno de los conectores de datos de Analytics (comando ACCESSDATA).

Es posible que los cambios realizados por los proveedores de controladores ODBC o los orígenes de datos de terceros requieran la actualización de uno o más conectores de datos. Tal vez sea necesario actualizar las conexiones de datos en los scripts para continuar trabajando correctamente.

  • Volver a ejecutar la importación La manera más sencilla de actualizar una conexión consiste en realizar una importación manualmente con la ventana Data Access en la versión actualizada de Analytics. Copie el comando ACCESSDATA desde el log y utilícelo para actualizar su script.

    Nota

    Antes de conectarse al origen de los datos y volver a ejecutar la importación, borre la caché del conector para limpiar los nombres del conjunto de tablas existentes.

    En la ficha Conexiones existentes de la ventana Data Access, junto al nombre del conector, seleccione > Borrar caché.

  • Actualice las especificaciones del campo Es posible que también deba actualizar las especificaciones del campo en el cuerpo del script para alinearas con los cambios en el esquema de la tabla dentro del origen de datos o el controlador ODBC. Algunos cambios posibles son los nombres de campos, los tipos de datos de los campos y la longitud de los campos y los registros.
  • Compruebe los resultados de los filtros También debe comprobar los resultados de los filtros que aplique como parte de la importación de datos. Confirme que el filtrado de la importación incluye y excluye correctamente los registros.

Creación de las declaraciones de configuración de conexión de ODBC e importación de SQL

Las declaraciones de configuración de conexión de ODBC e importación de SQL con frecuencia son extensas, como se muestra en los siguientes ejemplos.

La manera más sencilla de crear estas partes del comando ACCESSDATA consiste en utilizar primero la ventana Data Access en Analytics para conectarse al origen de datos de destino e importar los datos. A continuación, puede copiar todo el comando ACCESSDATA del registro, incluida la declaración de configuración de conexión e importación, y personalizar el comando como resulte necesario.

Valor de contraseña suprimido

Cuando utiliza la ventana Data Access en Analytics para ejecutar el comando ACCESSDATA y proporciona una contraseña, el valor de la contraseña no se escribe en el log. En su lugar, se sustituye el parámetro PROMPT_PASSWORD.

Archivos de log de ACCESSDATA

Dos archivos de log registran las transacciones asociadas con el comando ACCESSDATA y se pueden utilizar para resolver problemas si falla una conexión de datos:

  • ServerDataAccess.log registra todas las actividades y los errores antes de importar los datos

    Ubicación: C:\Usuarios\<cuenta de usuario>\AppData\Local\ACL\ACL para Windows\Data Access\ServerDataAccess.log

    Nota

    El "Server" en ServerDataAccess.log hace referencia al componente de acceso a los datos de Analytics que se ejecuta de forma local en la computadora en la cual está instalado Analytics.

  • DataAccess.log registra información acerca de la operación de importación y el proyecto de Analytics al que usted está importando datos

    Ubicación: ..\<carpeta del proyecto de Analytics>\DataAccess.log

Comparación de los datos cifrados con hash con ACCESSDATA con los datos cifrados con hash con la función HASH( ) de ACLScript

Si bien no puede leer los valores sin procesar de los datos a los que se les aplicó el cifrado hash, continúan siendo útiles al combinar y analizar datos.

Si desea comparar los valores que se cifran con hash con ACCESSDATA durante la importación con los valores que se cifran con la función HASH( ) de ACLScript, debe convertir los campos numéricos o de fechahora de Analytics en valores de caracteres y quitar todos los espacios al principio y al final antes de cifrar los datos con hash.

Los campos de fechahora deben usar los siguientes formatos cuando se convierten en caracteres:

  • Fechahora "AAAA-MM-DD HH:MM:SS"
  • Fecha "AAAA-MM-DD"
  • Hora "HH:MM:SS"

El siguiente ejemplo utiliza las funciones STRING( ) y ALLTRIM( ) para convertir un campo numérico de número de tarjeta de crédito en datos de caracteres antes de cifrar el valor con hash por medio de la función HASH( ) de ACLScript:

COMMENT Se usó la función de ACL HASH después de importar los datos
HASH(ALLTRIM(STRING(CC_No; 16)); "QZ3x7")

Una vez que cifra los valores de Analytics con hash, puede compararlos con los valores cifrados con hash como parte de la importación del comando ACCESSDATA.