ACCESSDATA-Befehl
Importiert Daten aus vielerlei ODBC-kompatiblen Datenquellen.
Der Befehl lautet ACCESSDATA64 oder ACCESSDATA32, was davon abhängt, ob Sie einen 64-Bit- oder einen 32-Bit-ODBC-Treiber verwenden.
Syntax
{ACCESSDATA64 | ACCESSDATA32} {CONNECTOR | ODBC {"Driver"|"Dsn"|"File"}} NAME Wert <USER Benutzer-ID> <PASSWORD Zahl | PROMPT_PASSWORD> TO Tabellenname CHARMAX maximale_Feldlänge MEMOMAX maximale_Feldlänge <ALLCHARACTER> SOURCE (Verbindungseinstellungen)<HASH(Salt-Wert; Felder)> SQL_QUERY (SQL_Syntax) END_QUERY
Parameter
Name | Beschreibung |
---|---|
CONNECTOR | ODBC {"Driver"|"Dsn"|"File"} |
Der Typ der von Ihnen gewünschten ODBC-Verbindung:
|
NAME Wert |
Der Name des Analytics-Datenkonnektors, des ODBC-Treibers oder des DSN. Beispiel:
|
USER Benutzer-ID Optional |
Die Benutzer-ID für Datenquellen, die eine Benutzer-ID benötigen. |
PASSWORD Zahl | PROMPT_PASSWORD Optional |
Für kennwortgeschützte Datenquellen:
Wenn Sie PASSWORD Zahl verwenden, müssen Sie eine zuvor erstellte Kennwortdefinition angeben. Weitere Informationen finden Sie unter PASSWORD-Befehl und SET-Befehl. Tipp Eine Verwendung des Befehls PASSWORD mit PASSWORD Zahl ähnelt der Verwendung von PROMPT_PASSWORD. Bei beiden Ansätzen wird der Benutzer zur Eingabe eines Kennworts aufgefordert. PROMPT_PASSWORD hat den Vorteil, dass die Benutzer-ID aktualisiert werden kann. |
TO Tabellenname |
Der Ort, an den die Ergebnisse des Befehls gesendet werden sollen:
|
CHARMAX maximale_Feldlänge |
Die maximale Länge eines beliebigen Felds der Analytics-Tabelle (in Zeichen), dessen Ursprung Zeichendaten in der zu importierenden Quelldatendatei sind. Der Standardwert ist 50. Daten, welche die maximale Feldlänge übersteigen, werden beim Import in Analytics abgeschnitten. |
MEMOMAX maximale_Feldlänge |
Die maximale Länge (in Zeichen) von Text-, Notizen- oder Memofeldern, die Sie importieren. Der Standardwert ist 100. Daten, welche die maximale Feldlänge übersteigen, werden beim Import in Analytics abgeschnitten. |
ALLCHARACTER Optional |
Den Zeichendatentyp allen importierten Feldern zuweisen. Sobald sich die Daten in Analytics befinden, können Sie den Feldern unterschiedliche Datentypen zuweisen, wie beispielsweise Numerisch oder Datumzeit, und Formateinzelheiten festlegen. Tipp ALLCHARACTER ist hilfreich, wenn Sie eine Tabelle importieren, die numerische Kennungen beinhaltet. Sie können ALLCHARACTER verwenden, damit Analytics nicht automatisch Werten einen numerischen Datentyp zuweist, die eigentlich den Zeichendatentyp haben sollten. |
SOURCE Verbindungseinstellungen |
Die Verbindungseinstellungen (Verbindungszeichenfolge), die für die Verbindung mit der Datenquelle benötigt werden. |
HASH(Salt-Wert; Felder) Optional |
Importiert die angegebenen Felder als kryptografische Hashwerte. Hashwerte sind unidirektionale Transformationen, die nach dem Importieren der Felder nicht decodiert werden können:
HASH("QZ3x7"; "SSN_NO; CC_NO; Nachname") Wie während des Importierens erstellte Hashwerte mit Hashwerten von ACLScript verglichen werden, wird in Vergleich von Hashdaten aus ACCESSDATA mit Hashdaten der HASH( )-Funktion aus ACLScript beschrieben. |
SQL_QUERY (SQL_Syntax) END_QUERY |
Die SQL-Importanweisung. Alles, was sich innerhalb der Klammern befindet, ist Bestandteil der SQL-Abfrage und muss eine gültige SQL-Syntax aufweisen. |
Beispiele
Daten mit einem systemeigenen Analytics-Datenkonnektor importieren
Sie müssen Daten aus dem Amazon-Redshift-Cloud-Datenservice importieren. Hierzu verwenden Sie den Amazon-Redshift-Datenkonnektor von Analytics:
ACCESSDATA64 CONNECTOR NAME "Amazon Redshift" USER "ACL_Benutzer" 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 "entitlement_history"."organization" AS "organization", "entitlement_history"."user_email" AS "user_email", "entitlement_history"."plan_id" AS "plan_id", "entitlement_history"."date_from" AS "date_from", "entitlement_history"."date_to" AS "date_to" FROM "prm"."entitlement_history" "entitlement_history" ) END_QUERY
Daten mit einem Windows-ODBC-Treiber importieren
Sie müssen Daten aus einer Microsoft-Access-Datenbank importieren. Hierzu verwenden Sie einen Windows-ODBC-Treiber, um sich mit MS Access zu verbinden und das Importieren abzuschließen.
ACCESSDATA32 ODBC "Driver" NAME "Microsoft Access Driver (*.mdb)" TO "Rechnungen.FIL" CHARMAX 50 MEMOMAX 100 SOURCE( dbq=C:\Benutzer\lachlan_murray\Dokumente\ACL Data\Beispiel-Datendateien\Beispiel.mdb;defaultdir=C:\Benutzer\lachlan_murray\Dokumente\ACL Data\Beispiel-Datendateien;driverid=281;fil=MS Access;maxbuffersize=2048;maxscanrows=8;pagetimeout=5;safetransactions=0;threads=3;usercommitsync=Yes) SQL_QUERY( SELECT `Kunde`.`KundenID` AS `KundenID`, `Kunde`.`Unternehmen` AS `Unternehmen`, `Kunde`.`Adresse` AS `Adresse`, `Kunde`.`Stadt` AS `Stadt`, `Kunde`.`Region` AS `Region`, `Kunde`.`PLZ` AS `PLZ`, `Kunde`.`Land` AS `Land`, `Kunde`.`Telefon` AS `Telefon`, `Bestellungen`.`BestellID` AS `BestellID`, `Bestellungen`.`KundenID` AS `Bestellungen_KundenID`, `Bestellungen`.`ProdID` AS `ProdID`, `Bestellungen`.`Bestelldatum` AS `Bestelldatum`, `Bestellungen`.`Menge` AS `Menge`, `Produkt`.`ProdID` AS `Produkt_ProdID`, `Produkt`.`ProdName` AS `ProdName`, `Produkt`.`Stückpreis` AS `Stückpreis`, `Produkt`.`Beschreibung` AS `Beschreibung`, `Produkt`.`Liefergewicht` AS `Liefergewicht` FROM (`Kunde` `Kunde` INNER JOIN `Bestellungen` `Bestellungen` ON `Kunde`.`CustID` = `Bestellungen`.`CustID` ) INNER JOIN `Produkt` `Produkt` ON `Bestellungen`.`ProdID` = `Produkt`.`ProdID` WHERE ( `Kunde`.`Region` = 'BC' OR `Kunde`.`Region` = 'WA') ) END_QUERY
Daten mit einem Windows-DSN (Datenquellenname) importieren
Sie müssen Daten aus einer Microsoft-Excel-Datei importieren. Hierzu verwenden Sie einen Windows-DSN, um sich mit Excel zu verbinden und das Importieren abzuschließen:
ACCESSDATA32 ODBC "Dsn" NAME "Excel-Dateien" TO "Trans_April_15_Stichtag.FIL" CHARMAX 50 MEMOMAX 100 SOURCE( dbq=C:\Benutzer\lachlan_murray\Dokumente\ACL Data\Beispiel-Datendateien\Beispiel.mdb;defaultdir=C:\Benutzer\lachlan_murray\Dokumente\ACL Data\Beispiel-Datendateien;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
Bemerkungen
Hinweis
Weitere Informationen über die Funktion dieses Befehls finden Sie in Hilfe für Analytics.
ODBC-Verbindungseinstellungen und SQL-Importanweisungen erstellen
ODBC-Verbindungseinstellungen und SQL-Importanweisungen sind oft recht lang und schwierig, was an den Beispielen zu erkennen ist.
Am einfachsten lassen sich diese Bestandteile des Befehls ACCESSDATA erstellen, wenn Sie zuerst das Fenster „Datenzugriff“ in Analytics verwenden, um sich mit der Zieldatenquelle zu verbinden und Daten zu importieren. Sie können dann den gesamten ACCESSDATA-Befehl aus dem Protokoll mit den Verbindungseinstellungen und der Importanweisung kopieren und den Befehl wie gewünscht anpassen.
Wert des Kennworts unterdrückt
Wenn Sie das Fenster „Datenzugriff“ in Analytics verwenden, um den Befehl Analytics auszuführen, und ein Kennwort eingeben, wird der Wert des Kennworts nicht in das Protokoll geschrieben. Stattdessen wird der Parameter PROMPT_PASSWORD ersetzt.
ACCESSDATA-Protokoll-dateien
Zwei Protokoll-dateien zeichnen die Transaktionen im Zusammenhang mit dem Befehl ACCESSDATA auf. Sie können die Fehlersuche unterstützen, wenn eine Datenverbindung fehlschlägt:
- ServerDataAccess.log zeichnet alle Aktivitäten und Fehler vor dem Importieren der Daten auf.
Speicherort: C:\Benutzer\<Benutzerkonto>\AppData\Local\ACL\ACL for Windows\Data Access\ServerDataAccess.log
Hinweis
Der „Server“ in ServerDataAccess.log bezieht sich auf die Datenzugriffskomponente von Analytics, die lokal auf dem Computer läuft, auf dem Analytics installiert ist.
- DataAccess.log zeichnet Informationen über den Importvorgang auf und über das Analytics-Projekt, in das Sie Daten importieren.
Speicherort: ..\<Analytics-Projektordner>\DataAccess.log
Vergleich von Hashdaten aus ACCESSDATA mit Hashdaten der HASH( )-Funktion aus ACLScript
Auch wenn Sie die Rohwerte der Hashdaten nicht lesen können, sind sie trotzdem hilfreich, um Daten zu vereinen oder zu analysieren.
Wenn Sie Werte vergleichen möchten, für die beim Importieren mit ACCESSDATA ein Hashwert erstellt wurde, und falls es Vergleichswerte gibt, für die mit der HASH( )-Funktion von ACLScript ein Hashwert berechnet wurde, müssen Sie vor dem Erstellen des Hashwerts alle numerischen Felder oder Datumzeit-Felder von Analytics auf Zeichenwerte konvertieren und führende sowie nachgestellte Leerzeichen kürzen.
Datumzeit-Felder müssen bei der Konvertierung auf Zeichenwerte die folgenden Formate aufweisen:
- Datumzeit "JJJJ-MM-TT hh:mm:ss"
- Datum "JJJJ-MM-TT"
- Zeit "hh:mm:ss"
Das folgende Beispiel verwendet die Funktionen STRING( ) und ALLTRIM( ), um ein numerisches Feld mit einer Kreditkartennummer in Zeichendaten umzuwandeln, bevor mit der HASH( )-Funktion von ACLScript ein Hashwert erstellt wird.
COMMENT Verwendung der ACL-HASH-Funktion nach dem Import von Daten HASH(ALLTRIM(STRING(KK_Nr; 16)); "QZ3x7")
Sobald Sie für die Analytics-Werte einen Hashwert erstellen, können Sie sie mit den Hashwerten vergleichen, die im Rahmen des Importierens mit dem Befehl ACCESSDATA erstellt wurden.