Commande ACCESSDATA
Information de concept
Importe des données à partir de diverses sources de données compatibles ODBC.
La forme de la commande est ACCESSDATA64 ou ACCESSDATA32 selon que vous utilisez un pilote ODBC 64 bits ou 32 bits.
Syntaxe
{ACCESSDATA64 | ACCESSDATA32} {CONNECTOR | ODBC {"Pilote"|"Dsn"|"Fichier"}} NAME valeur <USER id_utilisateur> <PASSWORD num | PROMPT_PASSWORD> <PASSWORD num AS nom_clé_mot_de_passe<">...n>> TO nom_table CHARMAX longueur_champ_max MEMOMAX longueur_champ_max <ALLCHARACTER> <ASYNC> SOURCE (paramètres_connexion) <HASH(valeur_sal, champs)>
SQL_QUERY(
(syntaxe_SQL)
) END_QUERY
Paramètres
| Nom | Description |
|---|---|
| CONNECTOR | ODBC {"Pilote"|"Dsn"|"Fichier"} |
Type de connexion ODBC que vous souhaitez effectuer :
|
| NAME valeur |
Nom du connecteur de données Analytics, du pilote ODBC ou du DSN. Par exemple :
|
|
USER id_utilisateur optionnel |
ID utilisateur pour les sources de données exigeant un ID utilisateur. |
|
PASSWORD num | PROMPT_PASSWORD optionnel |
Pour les sources de données nécessitant un mot de passe simple :
Pour plus d'informations, consultez la section Utilisation de définitions de mot de passe avec ACCESSDATA. Valeur de mot de passe supprimée Lorsque vous utilisez la fenêtre Accès aux données dans Analytics pour exécuter la commande ACCESSDATA et que vous fournissez un mot de passe, la valeur du mot de passe n'est pas écrite dans la trace. À la place, le paramètre PROMPT_PASSWORD est substitué. L'utilisation de la commande PASSWORD conjointement à PASSWORD num ressemble à celle du paramètre PROMPT_PASSWORD. Les deux méthodes demandent un mot de passe à l'utilisateur. PROMPT_PASSWORD présente l'intérêt d'autoriser la mise à jour de id_utilisateur. |
|
PASSWORD num AS password_keyname <...n> optionnel |
Pour les sources de données nécessitant plusieurs mots de passe, les définitions de mot de passe à utiliser. password_keyname doit reproduire exactement le nom de mot de passe tel qu'il apparaît dans les paramètres de connexion spécifiés par SOURCE. Pour plus d'informations, consultez la section Utilisation de définitions de mot de passe avec ACCESSDATA. |
| TO nom_table |
Emplacement vers lequel envoyer les résultats de la commande :
|
|
CHARMAX longueur_champ_max |
La longueur maximale en caractères d'un champ de la table Analytics qui provient d'une donnée de type caractère dans la source que vous importez. La valeur par défaut est 50. Les données dépassant la longueur de champ maximale sont tronquées lors de l'importation dans Analytics. La fonctionnalité de troncature de champs empêche les valeurs longues occasionnelles d'augmenter la longueur de l'enregistrement au-delà de ce que le processus d'importation prend en charge :
|
|
MEMOMAX longueur_champ_max |
Longueur maximale en caractères des champs de texte, de commentaire ou mémo que vous importez. La valeur par défaut est 100. Les données dépassant la longueur de champ maximale sont tronquées lors de l'importation dans Analytics. |
|
ALLCHARACTER optionnel |
Attribue automatiquement le type de données caractère à tous les champs importés. Une fois que les données sont dans Analytics, vous pouvez affecter différents types (Numérique ou DateHeure par exemple) de données aux champs et en spécifier les informations de format. Astuce ALLCHARACTER s'avère utile si vous importez une table contenant des valeurs d'identifiants numériques. Vous pouvez utiliser ALLCHARACTER pour éviter que Analytics attribue automatiquement le type de données Numérique aux valeurs devant utiliser le type de données Caractère. |
|
ASYNC optionnel |
Remarque Le paramètre ASYNC ne peut être utilisé que lors de l'importation de données avec le connecteur SAP (le connecteur ACL pour SAP). Indique qu'une table SAP est téléchargée de manière asynchrone depuis un système SAP. Vous pouvez créer un bloc de plusieurs commandes ACCESSDATA, avec ASYNC indiqué dans chacune d'entre elles, pour télécharger plusieurs tables SAP en parallèle (c'est-à-dire simultanément ou de manière asynchrone). Vous devez également utiliser Commande GETSAPDATA immédiatement après la dernière commande ACCESSDATA du bloc. Pour en savoir plus et connaître les instructions à suivre, consultez Importer plusieurs tables SAP en parallèle. Si vous n'incluez pas ASYNC, plusieurs importations depuis SAP sont réalisées successivement (c'est-à-dire de manière synchrone). N'utilisez pas la commande GETSAPDATA si vous n'incluez pas ASYNC. |
| SOURCE paramètres_connexion |
Paramètres de connexion (chaîne de connexion) requis pour se connecter à la source de données. |
|
HASH(valeur_salt; champs) optionnel |
Importe les champs spécifiés sous forme de valeurs de hachage cryptographiques. Les valeurs de hachage sont des transformations à sens unique. Elles ne peuvent pas être décodées une fois les champs importés :
HASH("QZ3x7"; "SSN_NO; CC_NO; Nom")
Pour obtenir des informations sur la comparaison de valeurs hachées pendant l'importation avec des valeurs hachées dans ACLScript, consultez la rubrique Comparaison de données hachées à l'aide d'ACCESSDATA avec des données hachées à l'aide de la fonction HASH( ) d'ACLScript.ACLScript |
| SQL_QUERY (syntaxe_SQL) END_QUERY |
Instruction IMPORT de SQL. Tout ce qui se trouve entre parenthèses fait partie de la requête SQL et doit être une requête SQL valide. Remarque Vous ne pouvez pas utiliser la syntaxe ACLScript (commandes ou fonctions) dans le corps de l'instruction IMPORT de SQL. Vous devez uniquement utiliser une syntaxe SQL. |
Exemples
Importation de données à l'aide d'un connecteur de données Analytics natif
Vous devez importer des données du service de données cloud Amazon Redshift. Pour ce faire, vous utilisez le connecteur de données Analytics Amazon Redshift :
ACCESSDATA64 CONNECTOR NAME "Amazon Redshift" USER "utilisateur_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
"historique_autorisations"."organisation" AS "organisation",
"historique_autorisations"."email_utilisateur" AS "email_utilisateur",
"historique_autorisations"."id_plan" AS "id_plan",
"historique_autorisations"."date_début" AS "date_début",
"historique_autorisations"."date_fin" AS "date_fin"
FROM
"prm"."historique_autorisations" "historique_autorisations"
) END_QUERY
Importation de données à l'aide d'un pilote ODBC Windows
Vous devez importer des données à partir d'une base de données Microsoft Access. Pour ce faire, vous utilisez un pilote ODBC Windows pour vous connecter à MS Access et effectuer l'importation :
ACCESSDATA32 ODBC "Pilote" NAME "Pilote Microsoft Access (*.mdb)" TO "Factures.FIL" CHARMAX 50 MEMOMAX 100SOURCE( dbq=C:\Users\lachlan_murray\Documents\ACL Data\Exemples de fichiers de données\Sample.mdb;defaultdir=C:\Utilisateurs\lachlan_murray\Documents\ACL Data\Exemples de fichiers de données;driverid=281;fil=MS Access;maxbuffersize=2048;maxscanrows=8;pagetimeout=5;safetransactions=0;threads=3;usercommitsync=Yes)
SQL_QUERY(
SELECT
`Client`.`ID_client` AS `ID_client`,
`Client`.`Société` AS `Société`,
`Client`.`Adresse` AS `Adresse`,
`Client`.`Ville` AS `Ville`,
`Client`.`Région` AS `Région`,
`Client`.`CodePostal` AS `CodePostal`,
`Client`.`Pays` AS `Pays`,
`Client`.`Téléphone` AS `Téléphone`,
`Commandes`.`ID_commande` AS `ID_commande`,
`Commandes`.`ID_client` AS `Commandes_ID_client`,
`Commandes`.`IDProd` AS `IDProd`,
`Commandes`.`DateCommande` AS `DateCommande`,
`Commandes`.`Quantité` AS `Quantité`,
`Produit`.`ID_Prod` AS `Produit_ID_Prod`,
`Produit`.`Nom_de_produit` AS `Nom_de_produit`,
`Produit`.`Prix_unitaire` AS `Prix_unitaire`,
`Produit`.`Descript` AS `Descript`,
`Produit`.`ShipWt` AS `ShipWt`
FROM
(`Client` `Client`
INNER JOIN
`Commandes` `Commandes`
ON `Client`.`ID_client` = `Commandes`.`ID_client`
)
INNER JOIN
`Produit` `Produit`
ON `Commandes`.`IDProd` = `Produit`.`IDProd`
WHERE
(
`Client`.`Région` = 'BC'
OR `Client`.`Région` = 'WA'
)
) END_QUERY
Importation de données à l'aide d'un DSN (nom de source de données) Windows
Vous devez importer des données à partir d'un fichier Microsoft Excel. Pour ce faire, vous utilisez un DSN Windows pour vous connecter à Excel et effectuer l'importation :
ACCESSDATA32 ODBC "Dsn" NAME "Excel Files" TO "Trans_April_15_cutoff.FIL" CHARMAX 50 MEMOMAX 100 SOURCE( dbq=C:\Utilisateurs\lachlan_murray\Documents\ACL Data\Exemples de fichiers de données\Trans_April.xls;defaultdir=C:\Utilisateurs\lachlan_murray\Documents\ACL Data\Exemples de fichiers de données;driverid=1046;maxbuffersize=2048;pagetimeout=5)
SQL_QUERY(
SELECT
`Trans_Apr_`.`CARDNUM` AS `CARDNUM`,
`Trans_Apr_`.`AMOUNT` AS `AMOUNT`,
`Trans_Apr_`.`TRANS_DATE` AS `TRANS_DATE`,
`Trans_Apr_`.`CODES` AS `CODES`,
`Trans_Apr_`.`CUSTNO` AS `CUSTNO`,
`Trans_Apr_`.`DESCRIPTION` AS `DESCRIPTION`
FROM
`Trans_Apr$` `Trans_Apr_`
WHERE
(
`Trans_Apr_`.`TRANS_DATE` <= {ts '2003-04-15 00:00:00'}
)
) END_QUERY
Remarques
Pour plus d'informations sur le fonctionnement de cette commande, consultez Utilisation de la fenêtre Accès aux données.
Utilisation de définitions de mot de passe avec ACCESSDATA
Les sources de données auxquelles vous vous connectez à l'aide de la commande ACCESSDATA exigent souvent une authentification au moyen d'un mot de passe, d'un jeton ou d'une valeur d'authentification secrète. Plus d'une valeur d'authentification est exigée pour certaines sources de données.
Dans le cadre de la commande ACCESSDATA, vous pouvez fournir cette authentification en spécifiant une ou plusieurs définitions de mot de passe. Une définition de mot de passe n'est pas le mot de passe ou la valeur d'authentification proprement dite. C'est plutôt une variable de mot de passe qui stocke un mot de passe ou une valeur d'authentification fournie précédemment. En spécifiant une définition de mot de passe à l'aide de la commande ACCESSDATA, vous évitez d'afficher le mot de passe en clair dans les paramètres de connexion spécifiés par SOURCE.
Création d'une définition de mot de passe
Dans un script d'importation, vous devez créer une définition de mot de passe avant qu'elle puisse être utilisée par la commande ACCESSDATA.
Pour plus d'informations sur la création d'une définition de mot de passe à utiliser dans Analytics, voir Commande PASSWORD.Analytics
Pour plus d'informations sur la création d'une définition de mot de passe à utiliser dans Robots, voir balise PASSWORD.Robots
Deux options pour spécifier des définitions de mot de passe
Deux options s'offrent à vous pour spécifier des définitions de mot de passe avec ACCESSDATA :
- PASSWORD num spécifie une définition de mot de passe unique pour les sources de données exigeant un mot de passe simple.
- PASSWORD num AS password_keyname peut être utilisé à autant de fois que nécessaire pour spécifier plusieurs définitions de mot de passe pour les sources de données nécessitant plusieurs valeurs d'authentification.
Remarque
Vous pouvez utiliser les deux options séparément ou conjointement.
Fonctionnement de PASSWORD num
Utilisez le paramètre PASSWORD num si une source de données exige un mot de passe simple.
Dans l'exemple ci-dessous :
- La commande PASSWORD 1 invite l'utilisateur à saisir un mot de passe et crée une définition de mot de passe qui stocke le mot de passe saisi de manière sécurisée.
- Dans la commande ACCESSDATA, le paramètre PASSWORD 1 référence la définition de mot de passe et intègre la valeur de mot de passe sécurisée dans le paramètre de connexion spécifié par SOURCE (auth_accesstoken=[$pwd]).
PASSWORD 1
ACCESSDATA64 CONNECTOR NAME "Concur" PASSWORD 1 TO "Concur_data_import.FIL" CHARMAX 50 MEMOMAX 100 SOURCE( auth_accesstoken=[$pwd];auth_type=OAuth 2.0;enabledoublebuffer=1;host=www.concursolutions.com;useencryptedendpoints=1;userparam=all)
SQL_QUERY(
SELECT
"Éléments_liste"."Code_niveau_7" AS "Code_niveau_7",
"Éléments_liste"."Nom" AS "Nom",
"Éléments_liste"."Code_niveau_10" AS "Code_niveau_10",
"Éléments_liste"."Code_niveau_8" AS "Code_niveau_8",
"Éléments_liste"."URI" AS "URI",
"Éléments_liste"."Id" AS "Id",
"Éléments_liste"."Code_niveau_3" AS "Code_niveau_3",
"Éléments_liste"."Id_Liste" AS "Id_Liste",
"Éléments_liste"."Code_niveau_4" AS "Code_niveau_4",
"Éléments_liste"."Code_niveau_1" AS "Code_niveau_1",
"Éléments_liste"."Id_Parent" AS "Id_Parent",
"Éléments_liste"."Code_niveau_2" AS "Code_niveau_2",
"Éléments_liste"."Code_niveau_5" AS "Code_niveau_5",
"Éléments_liste"."Code_niveau_6" AS "Code_niveau_6",
"List_Items"."Level_9_Code" AS "Level_9_Code"
FROM
"Concur"."Éléments_liste" "Éléments_liste"
) END_QUERY
Fonctionnement de PASSWORD num AS password_keyname
Utilisez le paramètre PASSWORD num AS password_keyname si une source de données nécessite plusieurs mots de passe ou valeurs d'authentification.
Dans l'exemple ci-dessous :
- Dans Robots, les balises ///PASSWORD d'un en-tête d'outil d'analyse créent quatre paramètres de mot de passe pour lesquels l'utilisateur doit saisir des valeurs d'authentification. Les quatre paramètres créent quatre définitions de mot de passe qui stockent les valeurs saisies de manière sécurisée.
- Dans la commande ACCESSDATA, les quatre paramètres PASSWORD référencent les définitions de mot de passe et transmettent les valeurs d'authentification sécurisées aux paramètres de connexion spécifiés par SOURCE :
- oauthclientid=
- oauthclientsecret=
- oauthaccesstoken=
- oauthaccesstokensecret=
Pour plus d'informations, consultez la section Configuration d'ACCESSDATA pour plusieurs définitions de mot de passe.
COMMENT
//ANALYTIC TYPE IMPORT Import Twitter data
//PASSWORD 1 Enter OAuth Client ID:
//PASSWORD 2 Enter OAuth Client Secret:
//PASSWORD 3 Enter OAuth Access Token:
//PASSWORD 4 Enter OAuth Access Token Secret:
//RESULT TABLE Twitter_user_data
END
ACCESSDATA64 CONNECTOR NAME "Twitter" PASSWORD 1 AS oauthclientid PASSWORD 2 AS oauthclientsecret PASSWORD 3 AS oauthaccesstoken PASSWORD 4 AS oauthaccesstokensecret TO "Twitter_user_data.FIL" CHARMAX 50 MEMOMAX 100 SOURCE( oauthclientid=;oauthclientsecret=;oauthaccesstoken=;oauthaccesstokensecret=;readonly=true;drivertype=ACL Connector for Twitter;connectonopen=true;convertdatetimetogmt=true;limitkeysize=255;maptolongvarchar=-1;maptowvarchar=true;uppercaseidentifiers=false;supportenhancedsql=true;proxyauthscheme=BASIC;proxyautodetect=true;_persist_=encrypted-dp{AQA ... kX3E8yyh05HoG1rH4bm1lhwudUQ==}})
SQL_QUERY(
SELECT
"Utilisateurs"."ID" AS "ID",
"Utilisateurs"."Nom" AS "Nom",
"Utilisateurs"."Nom_écran" AS "Nom_écran",
"Utilisateurs"."Emplacement" AS "Emplacement",
"Utilisateurs"."URL_profil" AS "URL_profil",
"Utilisateurs"."Lang" AS "Lang",
"Utilisateurs"."Créé_à" AS "Créé_à",
"Utilisateurs"."Nombre_amis" AS "Nombre_amis",
"Utilisateurs"."Nombre_Followers" AS "Nombre_Followers",
"Utilisateurs"."Nombre_Favoris" AS "Nombre_Favoris",
"Utilisateurs"."Nombre_Statuts" AS "Nombre_Statuts",
"Utilisateurs"."Fuseau_horaire" AS "Fuseau_horaire",
"Utilisateur"."Suivant" AS "Suivant",
"Utilisateurs"."Contributeurs_activés" AS "Contributeurs_activés",
"Utilisateurs"."Suivre_demande_envoyée" AS "Suivre_demande_envoyée",
"Utilisateurs"."Nombre_listé" AS "Nombre_listé",
"Utilisateurs"."Description" AS "Description",
"Utilisateurs"."Profil_par_défaut" AS "Profil_par_défaut"
FROM
"Twitter"."Utilisateurs" "Utilisateurs"
) END_QUERY
Configuration d'ACCESSDATA pour plusieurs définitions de mot de passe
Pour configurer la commande ACCESSDATA pour plusieurs définitions de mot de passe, vous insérez les paramètres PASSWORD dans la commande et copiez les noms de mot de passe du paramètre SOURCE dans les paramètres PASSWORD.
- Dans Analytics, ouvrez la fenêtre Accès aux données pour importer les données d'une source de données nécessitant plus d'une valeur d'authentification.
- Copiez la commande ACCESSDATA de la trace dans un script ouvert de l'Éditeur de script.
En général, une seule valeur d'authentification est masquée ([$pwd]) dans le paramètre SOURCE, tandis que les autres valeurs apparaissent en clair. Exemple :
SOURCE( oauthclientid=cXQ ... dR4;oauthclientsecret=QUt ... beo;oauthaccesstoken=913 ... cPn;oauthaccesstokensecret=[$pwd]; ... )
- Supprimez les valeurs d'authentification en texte clair du paramètre SOURCE et laissez uniquement les noms de mot de passe et le signe égale.
Exemple :
SOURCE( oauthclientid=;oauthclientsecret=;oauthaccesstoken=;oauthaccesstokensecret=[$pwd]; ... )
Remarque
Les valeurs d'authentification doivent à présent être fournies par les utilisateurs au moyen de définitions de mot de passe créées avec la commande PASSWORD ou la balise d'analyse de données PASSWORD. Pour plus d'informations, consultez la rubrique Création d'une définition de mot de passe.
- Facultatif. Supprimez [$pwd] du nom de mot de passe dont la valeur d'authentification est masquée.
Avec ce nom de mot de passe, vous pouvez suivre n'importe laquelle des deux méthodes pour spécifier une définition de mot de passe dans la commande ACCESSDATA. Pour plus d'informations, consultez la rubrique Deux options pour spécifier des définitions de mot de passe.
- Supprimez le paramètre PROMPT_PASSWORD de la commande ACCESSDATA.
- Insérez les paramètres PASSWORD numérotés à l'emplacement où vous avez supprimé PROMPT_PASSWORD puis copiez-collez les noms de mot de passe du paramètre SOURCE dans les paramètres PASSWORD.
Par exemple :
ACCESSDATA64 CONNECTOR NAME "Twitter" PASSWORD 1 AS oauthclientid PASSWORD 2 AS oauthclientsecret PASSWORD 3 AS oauthaccesstoken PASSWORD 4 AS oauthaccesstokensecret ... SOURCE( oauthclientid=;oauthclientsecret=;oauthaccesstoken=;oauthaccesstokensecret=; ... )
Important
Les noms de mot de passe doivent être exactement identiques entre le paramètre SOURCE et les paramètres PASSWORD. Sinon, la commande ACCESSDATA échoue.
- Si vous n'avez pas supprimé [$pwd] du nom de mot de passe dont la valeur d'authentification est masquée, suivez la méthode permettant de spécifier la définition d'un mot de passe simple.
Par exemple :
ACCESSDATA64 CONNECTOR NAME "Twitter" PASSWORD 1 AS oauthclientid PASSWORD 2 AS oauthclientsecret PASSWORD 3 AS oauthaccesstoken PASSWORD 4 ... SOURCE( oauthclientid=;oauthclientsecret=;oauthaccesstoken=;oauthaccesstokensecret=[$pwd]; ... )
Résultat La commande ACCESSDATA, conjointement aux définitions de mot de passe créées séparément, peut à présent être utilisée dans un script d'importation sans afficher les valeurs d'authentification en clair dans les paramètres de connexion SOURCE.
L'authentification multifacteur n'est pas adaptée
Vous ne pouvez pas utiliser la commande ACCESSDATA pour accéder aux sources de données nécessitant une authentification multifacteur (MFA) puisque les scripts ne peuvent pas authentifier de cette façon. Si vous devez accéder aux données protégées avec la MFA, regardez si votre organisation autorisera l'utilisation d'un compte de travailleur générique qui ne requiert pas une MFA.
Mises à jour du connecteur de données
Lorsque vous mettez à niveau Analytics ou Agent Robots, vous devez tester tous vos scripts qui importent des données à l'aide de l'un des connecteurs de données Analytics (commande ACCESSDATA).
Il est possible que des modifications apportées par des sources de données tierces ou des fournisseurs de pilotes ODBC aient nécessité la mise à jour d'un ou plusieurs connecteurs de données. Les connexions de données écrites sous forme de scripts peuvent avoir besoin d'être mises à jour afin de continuer à fonctionner correctement.
- Ré-exécuter l'importation La façon la plus simple de mettre à jour une connexion est d'effectuer manuellement une importation à l'aide de la fenêtre Accès aux données de la version mise à niveau d'Analytics. Copiez la commande ACCESSDATA du journal et utilisez-la pour mettre à jour votre script.
Remarque
Avant de vous connecter à une source de données et de réexécuter l'importation, effacez le cache du connecteur pour vider le jeu existant de noms de tables.
Dans l'onglet Connexions existantes de la fenêtre Accès aux données, à côté du nom du connecteur, sélectionnez
> Effacer le cache. - Mettre à jour les spécifications des champs Vous pouvez également avoir besoin de mettre à jour les spécifications des champs dans le corps du script pour les aligner avec les modifications du schéma de table dans la source de données ou le pilote ODBC. Les modifications possibles comprennent les noms des champs, les types de données des champs et les longueurs de champ et d'enregistrement.
- Vérifier les résultats des filtrages Vous devez également vérifier les résultats des filtrages que vous appliquez dans le cadre de l'importation de données. Confirmez que le filtrage des importations inclut et exclut correctement les enregistrements.
Création de paramètres de connexion ODBC et d'instructions IMPORT SQL
Les paramètres de connexion ODBC ainsi que les instructions IMPORT SQL sont souvent assez longs et complexes, comme illustré dans les exemples.
Le moyen le plus simple de créer ces portions de la commande ACCESSDATA consiste à utiliser dans un premier temps la fenêtre d'accès aux données dans Analytics pour vous connecter à la source de données cible, puis à importer les données dans un deuxième temps. Vous pouvez ensuite copier l'intégralité de la commande ACCESSDATA à partir de la trace, y compris les paramètres de connexion et l'instruction IMPORT, et personnaliser la commande selon vos besoins.
Fichiers traces ACCESSDATA
Deux fichiers traces enregistrent les transactions associées à la commande ACCESSDATA. Ils peuvent être utilisés pour résoudre des problèmes en cas d'échec de connexion des données :
- ServerDataAccess.log enregistre toutes les activités et erreurs avant l'importation des données
Emplacement : C:\Users\<compte utilisateur>\AppData\Local\ACL\ACL for Windows\Data Access\ServerDataAccess.log
Remarque
Le « Serveur » dans ServerDataAccess.log fait référence au composant d'accès aux données d'Analytics s'exécutant en local sur l'ordinateur où Analytics est installé.
- DataAccess.log enregistre les informations sur l'opération d'importation et le projet Analytics dans lequel vous importez des données
Emplacement : ..\<dossier de projet Analytics>\DataAccess.log
Analytics
Comparaison de données hachées à l'aide d'ACCESSDATA avec des données hachées à l'aide de la fonction HASH( ) d'ACLScript
Même si vous ne pouvez pas lire les valeurs brutes des données hachées, elles restent utiles pour combiner ou analyser des données.
Si vous souhaitez comparer des valeurs hachées par ACCESSDATA pendant l'importation avec des valeurs hachées à l'aide de la fonction HASH( ) d'ACLScript, vous devez convertir les champs numériques ou DateHeure Analytics en valeurs de type caractère et supprimer l'intégralité des espaces de fin et de début avant de hacher les données.
Les champs DateHeure doivent utiliser les formats suivants lorsqu'ils sont convertis en caractère :
- DateHeure "AAAA-MM-JJ hh:mm:ss"
- Date "AAAA-MM-JJ"
- Heure "hh:mm:ss"
L'exemple qui suit utilise les fonctions STRING( ) et ALLTRIM( ) pour convertir un champ numéro de carte de crédit en données de type caractère avant de hacher la valeur à l'aide de la fonction HASH( ) d'ACLScript :
COMMENT ACL HASH fonction utilisée après l'importation des données
HASH(ALLTRIM(STRING(CC_No; 16)); "QZ3x7")
Une fois que vous avez haché les valeurs Analytics, vous pouvez les comparer aux valeurs hachées dans le cadre de l'importation de commande ACCESSDATA.
Importer plusieurs tables SAP en parallèle
Si vous souhaitez importer dans Analytics plusieurs tables SAP qui serviront de base à de prochaines analyses, la méthode la plus rapide et la plus efficace consiste à télécharger les tables en parallèle, ou de manière asynchrone, à partir du système SAP avant de les importer dans Analytics. Il n'existe aucune limite quant au nombre total de tables que vous pouvez indiquer pour le téléchargement asynchrone, bien que seules cinq tables puissent être téléchargées simultanément à un moment donné.
Instructions relatives aux scripts
Suivez ces instructions pour créer un script de téléchargement parallèle et l'importation suivante des tables SAP :
-
Bloc de commandes ACCESSDATA Créez un bloc de commandes ACCESSDATA, une commande pour chaque table SAP que vous souhaitez télécharger. Le bloc de commandes ACCESSDATA doit être continu, sans autre type de commande ACLScript intermédiaire.
-
Nombre de bits approprié Utilisez la version 64 bits de la commande ACCESSDATA (ACCESSDATA64). Vous pouvez utiliser ACCESSDATA32 si une version 32 bits de SAP GUI pour Windows est installée. Cependant, il est recommandé d'utiliser ACCESSDATA64 pour éviter toute exception de mémoire. Vous devez utiliser ACCESSDATA64 si vous avez une version 64 bits de SAP GUI installée. Pour en savoir plus sur SAP GUI, consultez Configuration du connecteur ACL pour SAP.
Vous ne pouvez pas mélanger ACCESSDATA64 et ACCESSDATA32 dans le même bloc de commandes ACCESSDATA.
-
Paramètre ASYNC Chaque commande ACCESSDATA doit utiliser le paramètre ASYNC. Vous ne pouvez pas mélanger les téléchargements SAP asynchrones et synchrones dans le bloc de commandes.
-
Chaîne de connexion Toutes les commandes dans le bloc doivent utiliser la même chaîne de connexion pour se connecter au même serveur SAP.
-
Commande GETSAPDATA La commande GETSAPDATA doit immédiatement suivre la dernière commande ACCESSDATA. Aucun autre type de commande ACLScript ne peut être utilisé, à l'exception de la commande COMMENT.
Après un téléchargement parallèle des tables SAP, GETSAPDATA importe les tables Analytics générées par le téléchargement dans un projet Analytics. Si l'une des opérations de téléchargement dans le bloc de commandes ACCESSDATA échoue, la commande GETSAPDATA échoue et aucune table n'est ajoutée au projet, même si certaines tables SAP sont correctement téléchargées.
Télécharger et importer plusieurs tables SAP en parallèle avec le connecteur SAP
Vous devez télécharger et importer des données de trois tables SAP qui serviront de base à de prochaines analyses :
- T001
- T002
- T003
L'approche la plus efficace est de télécharger les tables en parallèle. Vous assemblez un bloc de commandes ACCESSDATA, une commande pour chaque table. Chaque commande utilise le paramètre ASYNC pour indiquer que les trois opérations de téléchargement sont exécutées en parallèle (c'est-à-dire de manière asynchrone).
Vous utilisez la commande GETSAPDATA juste après le bloc de commandes ACCESSDATA pour importer les tables téléchargées dans le projet Analytics.
COMMENTAIRE Télécharger trois tables SAP en parallèle ACCESSDATA64 CONNECTOR NAME "SAP" USER "irosario" PASSWORD 1 TO "T001.FIL" CHARMAX 50 MEMOMAX 100 ASYNC SOURCE(server=192.0.2.255;client=800;language=EN;instancenumber=01;variablestringlength=256;TemporaryWorkingDirectory=Default)
SQL_QUERY(
SELECT * FROM T001
) END_QUERY
ACCESSDATA64 CONNECTOR NAME "SAP" USER "irosario" PASSWORD 1 TO "T002.FIL" CHARMAX 50 MEMOMAX 100 ASYNC SOURCE(server=192.0.2.255;client=800;language=EN;instancenumber=01;variablestringlength=256;TemporaryWorkingDirectory=Default)
SQL_QUERY(
SELECT * FROM T002
) END_QUERY
ACCESSDATA64 CONNECTOR NAME "SAP" USER "irosario" PASSWORD 1 TO "T003.FIL" CHARMAX 50 MEMOMAX 100 ASYNC SOURCE(server=192.0.2.255;client=800;language=EN;instancenumber=01;variablestringlength=256;TemporaryWorkingDirectory=Default)
SQL_QUERY(
SELECT * FROM T003
) END_QUERY COMMENTAIRE Importer les trois tables téléchargées dans le projet Analytics GETSAPDATA