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.
Sintaxis
{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
Parámetros
Nombre | Descripción |
---|---|
CONNECTOR | ODBC {"Controlador"|"Dsn"|"Archivo"} |
El tipo de conexión ODBC que desea realizar:
|
NAME valor |
El nombre del conector de datos de Analytics, el controlador de ODBC o el DSN. Por ejemplo:
|
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:
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:
|
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:
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. |
Ejemplos
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
Observaciones
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.