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> <PASSWORD Zahl AS Kennwort_Schlüsselname<...n>> TO Tabellenname CHARMAX maximale_Feldlänge MEMOMAX maximale_Feldlänge <ALLCHARACTER> <ASYNC> 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:

  • CONNECTOR Verbindung mit einem systemeigenen Analytics-DatenkonnektorAnalytics
  • ODBC "Treiber" Verbindung mit einem Windows-ODBC-Treiber, der auf Ihrem Computer installiert ist
  • ODBC "DSN" Verbindung mit einem DSN (Datenquellenname), der auf Ihrem Computer gespeichert ist
  • ODBC "Datei" Verbindung mit einem Datei-DSN (einer gespeicherten .dsn-Datei)
NAME Wert

Der Name des Analytics-Datenkonnektors, des ODBC-Treibers oder des DSN.

Beispiel:

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

USER Benutzer-ID

Optional

Die Benutzer-ID für Datenquellen, die eine Benutzer-ID benötigen.

PASSWORD Zahl | PROMPT_PASSWORD

Optional

Für Datenquellen, die ein einzelnes Kennwort benötigen:

  • PASSWORD Zahl Die zu verwendende Kennwortdefinition
  • PROMPT_PASSWORD Zeigt eine Kennwort-Eingabeaufforderung an.

Weitere Informationen finden Sie unter Kennwortdefinitionen mit ACCESSDATA verwenden.

Wert des Kennworts unterdrückt

Wenn Sie das Fenster „Datenzugriff“ in Analytics verwenden, um den Befehl ACCESSDATA auszuführen, und ein Kennwort eingeben, wird der Wert des Kennworts nicht in das Protokoll geschrieben. Stattdessen wird der Parameter PROMPT_PASSWORD ersetzt.

Eine Verwendung des Befehls PASSWORD zusammen 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.

PASSWORD Zahl AS Kennwort_Schlüsselname <...n>

Optional

Zu verwendende Kennwortdefinitionen für Datenquellen, die mehrere Kennwörter erfordern.

Kennwort_Schlüsselname Muss genau den Kennwort-Schlüsselnamen replizieren, wie er in den Verbindungseinstellungen mit SOURCE festgelegt wurde.

Weitere Informationen finden Sie unter Kennwortdefinitionen mit ACCESSDATA verwenden.

TO Tabellenname

Der Ort, an den die Ergebnisse des Befehls gesendet werden sollen:

  • Tabellenname Speichert die Ergebnisse in einer Analytics-Tabelle.

    Geben Sie Tabellenname als in Anführungszeichen gesetzte Zeichenfolge mit der Dateierweiterung „.FIL“ an. Beispiel: TO "Ausgabe.FIL"

    Standardmäßig wird die Tabellendatendatei (.FIL) im Ordner mit dem Analytics-Projekt gespeichert.

    Verwenden Sie entweder einen absoluten oder relativen Dateipfad, um die Datendatei in einen anderen bestehenden Ordner zu speichern:

    • TO "C:\Ausgabe.FIL"
    • TO "Ergebnisse\Ausgabe.FIL"

    Hinweis

    Tabellennamen sind auf 64 alphanumerische Zeichen beschränkt, was die .FIL-Dateierweiterung nicht einbezieht. Der Name kann den Unterstrich beinhalten ( _ ), aber keine anderen Sonderzeichen oder Leerzeichen. Er kann nicht mit einer Ziffer beginnen.

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.

Durch die Fähigkeit, Felder abzukürzen, wird verhindert, dass die Gesamt-Datensatzlänge aufgrund langer Werte die vom Importprozess unterstützten Werte überschreitet:

  • 32.767 Zeichen (Nicht-Unicode-Analytics)

  • 16.383 Zeichen (Unicode-Analytics)

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.

ASYNC

Optional

Hinweis

Der Parameter ASYNC kann nur beim Importieren von Daten über den SAP-Konnektor (ACL-Konnektor für SAP) verwendet werden.

Gibt an, dass eine SAP-Tabelle asynchron von einem SAP-System heruntergeladen wird.

Sie können einen Block aus mehreren ACCESSDATA-Befehlen zusammenstellen, für die jeweils ASYNC angegeben wird, um mehrere SAP-Tabellen parallel (d. h. gleichzeitig oder asynchron) herunterzuladen. GETSAPDATA-Befehl muss unmittelbar nach dem letzten ACCESSDATA-Befehl im Block verwendet werden. Weitere Informationen, einschließlich der Richtlinien, die Sie befolgen müssen, finden Sie unter Paralleler Import mehrerer SAP-Tabellen.

Wenn Sie ASYNC nicht angeben, werden mehrere Importe aus SAP nacheinander (d. h. synchron) durchgeführt. Verwenden Sie den Befehl GETSAPDATA nicht, wenn Sie ASYNC nicht angeben.

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:

  • Salt_Wert Eine alphanumerische Zeichenfolge, die an die Werte der Quelldaten angehängt wird, um das Hashing der Feldwerte zu verbessern. Geben Sie den Hashwert als Zeichenfolge in Anführungszeichen ein.

    Der Salt-Wert ist auf 128 Zeichen begrenzt. Verwenden Sie nicht die folgenden Zeichen: (  )  "

  • Felder Eine Liste ein oder mehrerer Felder, für die ein Hashwert erstellt werden soll. Geben Sie die Felder als in Anführungszeichen gesetzte Zeichenfolge ein, und trennen Sie die Felder mit einem Semikolon.

    Sie müssen den Feldnamen angeben, den Sie im Fenster „Datenzugriff“ und dem Stagingbereich sehen, nicht den physischen Feldnamen in der Datenquelle.

    Hinweis

    Der Feldname, der im Fenster „Datenzugriff“ angezeigt wird, ist der Alias-Wert des Felds in der SQL-Abfrage („Feldname“ AS „alias“). Sie müssen den Alias-Wert zur Referenzierung von Feldern verwenden.

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.ACLScript

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.

Hinweis

Sie können im Textkörper der SQL-Importanweisung keine ACLScript-Syntax (Befehle oder Funktionen) verwenden. Es ist nur gültige SQL-Syntax erlaubt.

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 "Organisation",
      "entitlement_history"."user_email" AS "Benutzer_E-Mail",
      "entitlement_history"."plan_id" AS "Plan_ID",
      "entitlement_history"."date_from" AS "Datum_von",
      "entitlement_history"."date_to" AS "Datum_bis"
    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-Daten\Beispiel-Datendateien\Beispiel.mdb;defaultdir=C:\Benutzer\lachlan_murray\Dokumente\ACL-Daten\Beispiel-Datendateien;driverid=281;fil=MS Access;maxbuffersize=2048;maxscanrows=8;pagetimeout=5;safetransactions=0;threads=3;usercommitsync=Yes)
  SQL_QUERY(
    SELECT
      `Customer`.`CustID` AS `KundenID`,
      `Customer`.`Company` AS `Unternehmen`,
      `Customer`.`Address` AS `Adresse`,
      `Customer`.`City` AS `Stadt`,
      `Customer`.`Region` AS `Region`,
      `Customer`.`PostalCode` AS `Postleitzahl`,
      `Customer`.`Country` AS `Land`,
      `Customer`.`Phone` AS `Telefon`,
      `Orders`.`OrderID` AS `BestellID`,
      `Orders`.`CustID` AS `Bestellungen_KundenID`,
      `Orders`.`ProdID` AS `ProdID`,
      `Orders`.`OrderDate` AS `Bestelldatum`,
      `Orders`.`Quantity` AS `Menge`,
      `Product`.`ProdID` AS `Produkt_ProdID`,
      `Product`.`ProdName` AS `ProdName`,
      `Product`.`UnitPrice` AS `Stückpreis`,
      `Product`.`Descript` AS `Beschr`,
      `Product`.`ShipWt` AS `Liefergewicht`
    FROM
      (`Customer` `Customer`
    INNER JOIN
      `Orders` `Orders`
      ON `Customer`.`CustID` = `Orders`.`CustID`
      )
    INNER JOIN
      `Product` `Product`
      ON `Orders`.`ProdID` = `Product`.`ProdID`
    WHERE
    (
      `Customer`.`Region` = 'BC'
      OR `Customer`.`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-Daten\Beispiel-Datendateien\Trans_April.xls;defaultdir=C:\Benutzer\lachlan_murray\Dokumente\ACL-Daten\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

Weitere Informationen über die Funktionsweise dieses Befehls finden Sie unter Mit dem Fenster „Datenzugriff“ arbeiten.

Kennwortdefinitionen mit ACCESSDATA verwenden

Wenn Sie sich mit Datenquellen über den ACCESSDATA-Befehl verbinden, wird oft eine Authentifizierung mit einem Kennwort, einem Token oder einem anderen geheimen Authentifizierungswert verlangt. Bei manchen Datenquellen ist mehr als ein Authentifizierungswert notwendig.

Im Rahmen des ACCESSDATA-Befehls können Sie diese Authentifizierung übergeben, indem Sie ein oder mehrere Kennwortdefinitionen bereitstellen. Eine Kennwortdefinition ist nicht das Kennwort oder der Authentifizierungswert selbst. Vielmehr handelt es sich um eine Kennwortvariable, die ein zuvor angegebenes Kennwort oder einen Authentifizierungswert speichert. Durch das Festlegen einer Kennwortdefinition mit dem ACCESSDATA-Befehl können Sie vermeiden, dass ein Kennwort in Klartext in den SOURCE-Verbindungseinstellungen angezeigt wird.

Kennwortdefinitionen erstellen

In einem Importskript müssen Sie zuerst eine Kennwortdefinition erstellen, bevor die Definition durch den ACCESSDATA-Befehl verwendet werden kann.

Informationen über die Erstellung einer Kennwortdefinition für die Nutzung in Analytics finden Sie unter PASSWORD-Befehl.Analytics

Informationen über die Erstellung einer Kennwortdefinition für die Nutzung in Robots finden Sie unter PASSWORD-Tag.Robots

Zwei Optionen zur Festlegung von Kennwortdefinitionen

Sie haben zwei Möglichkeiten, um Kennwortdefinitionen mit ACCESSDATA festzulegen:

  • PASSWORD Zahl Legt eine einzelne Kennwortdefinition für Datenquellen fest, die ein einzelnes Kennwort benötigen.
  • PASSWORD Zahl AS Kennwort_Schlüsselname Kann wiederholt verwendet werden, um mehrere Kennwortdefinitionen für Datenquellen anzugeben, falls diese mehrere Authentifizierungswerte erfordern.

Hinweis

Sie können die beiden Optionen getrennt oder zusammen verwenden.

Wie PASSWORD Zahl funktioniert

Verwenden Sie den Parameter PASSWORD Zahl, falls eine Datenquelle nur ein einzelnes Kennwort erfordert.

Im folgenden Beispiel:

  1. Der PASSWORD 1-Befehl fordert einen Benutzer auf, ein Kennwort einzugeben und eine Kennwortdefinition zu erstellen, in der das eingegebene Kennwort gespeichert wird.
  2. Im ACCESSDATA-Befehl referenziert der PASSWORD 1-Parameter die Kennwortdefinition und übergibt den gespeicherten Kennwortwert sicher in die Verbindungseinstellung, die unter SOURCE (auth_accesstoken=[$pwd]) festgelegt wird.
PASSWORD 1
ACCESSDATA64 CONNECTOR NAME "Concur" PASSWORD 1 TO "Concur_Datenimport.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
      "List_Items"."Level_7_Code" AS "Level_7_Code",
      "List_Items"."Name" AS "Name",
      "List_Items"."Level_10_Code" AS "Level_10_Code",
      "List_Items"."Level_8_Code" AS "Level_8_Code",
      "List_Items"."URI" AS "URI",
      "List_Items"."Id" AS "Id",
      "List_Items"."Level_3_Code" AS "Level_3_Code",
      "List_Items"."List_Id" AS "List_Id",
      "List_Items"."Level_4_Code" AS "Level_4_Code",
      "List_Items"."Level_1_Code" AS "Level_1_Code",
      "List_Items"."Parent_Id" AS "Parent_Id",
      "List_Items"."Level_2_Code" AS "Level_2_Code",
      "List_Items"."Level_5_Code" AS "Level_5_Code",
      "List_Items"."Level_6_Code" AS "Level_6_Code",
      "List_Items"."Level_9_Code" AS "Level_9_Code"
    FROM
      "Concur"."List_Items" "List_Items"
  ) END_QUERY

Wie PASSWORD Zahl AS Kennwort_Schlüsselname funktioniert

Verwenden Sie den Parameter PASSWORD Zahl AS Kennwort_Schlüsselname, falls eine Datenquelle mehrere Kennwörter oder Authentifizierungswerte benötigt.

Im folgenden Beispiel:

  1. In Robots erstellen die //PASSWORD-Tags in einem Analysekopf vier Kennwortparameter, für die der Benutzer Authentifizierungswerte eingeben muss. Die vier Parameter erstellen vier Kennwortdefinitionen, welche die eingegebenen Werte sicher speichern.
  2. Im ACCESSDATA-Befehl referenzieren die vier PASSWORD-Parameter die Kennwortdefinitionen und übergeben die gespeicherten Authentifizierungswerte sicher in die Verbindungseinstellungen. Festgelegt werden sie durch SOURCE:
    • oauthclientid=
    • oauthclientsecret=
    • oauthaccesstoken=
    • oauthaccesstokensecret=

Weitere Informationen finden Sie unter ACCESSDATA für mehrere Kennwortdefinitionen konfigurieren.

COMMENT
//ANALYTIC TYPE IMPORT Twitter-Daten importieren
//PASSWORD 1 Geben Sie Ihre OAuth-Client-Kennung ein:
//PASSWORD 2 Geben Sie Ihr OAuth-Client-Geheimnis ein:
//PASSWORD 3 Geben Sie Ihren OAuth-Zugriffstoken ein:
//PASSWORD 4 Geben Sie Ihr OAuth-Zugriffstoken-Geheimnis ein:
//RESULT TABLE Twitter_Benutzerdaten
END

ACCESSDATA64 CONNECTOR NAME "Twitter" PASSWORD 1 AS oauthclientid PASSWORD 2 AS oauthclientsecret PASSWORD 3 AS oauthaccesstoken PASSWORD 4 AS oauthaccesstokensecret TO "Twitter_Benutzerdateien.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
      "Users"."ID" AS "ID",
      "Users"."Name" AS "Name",
      "Users"."Screen_Name" AS "Screen_Name",
      "Users"."Location" AS "Location",
      "Users"."Profile_URL" AS "Profile_URL",
      "Users"."Lang" AS "Lang",
      "Users"."Created_At" AS "Created_At",
      "Users"."Friends_Count" AS "Friends_Count",
      "Users"."Followers_Count" AS "Followers_Count",
      "Users"."Favourites_Count" AS "Favourites_Count",
      "Users"."Statuses_Count" AS "Statuses_Count",
      "Users"."Time_Zone" AS "Time_Zone",
      "Users"."Following" AS "Following",
      "Users"."Contributors_Enabled" AS "Contributors_Enabled",
      "Users"."Follow_Request_Sent" AS "Follow_Request_Sent",
      "Users"."Listed_Count" AS "Listed_Count",
      "Users"."Description" AS "Description",
      "Users"."Default_Profile" AS "Default_Profile"
    FROM
      "Twitter"."Users" "Users"
  ) END_QUERY

ACCESSDATA für mehrere Kennwortdefinitionen konfigurieren

Damit der ACCESSDATA-Befehl mit mehreren Kennwortdefinitionen funktioniert, fügen Sie PASSWORD-Parameter in den Befehl ein und kopieren die Kennwort-Schlüsselnamen aus dem SOURCE-Parameter in die PASSWORD-Parameter.

  1. In Analytics verwenden Sie das Fenster „Datenzugriff“, um Daten von einer Datenquelle zu importieren, die mehrere Authentifizierungswerte erfordert.
  2. Kopieren Sie den Befehl ACCESSDATA aus dem Protokoll in ein offenes Skript im Skript-Editor.

    Normalerweise ist nur ein Authentifizierungswert ([$pwd]) im Parameter SOURCE verborgen und zusätzliche Werte sind in Klartext angezeigt. Beispiel:

    SOURCE( oauthclientid=cXQ ... dR4;oauthclientsecret=QUt ... beo;oauthaccesstoken=913 ... cPn;oauthaccesstokensecret=[$pwd]; ... )
  3. Löschen Sie in Klartext angegebene Authentifizierungswerte aus dem SOURCE-Parameter und behalten Sie nur die Kennwort-Schlüsselnamen und das Gleichheitszeichen.

    Beispiel:

    SOURCE( oauthclientid=;oauthclientsecret=;oauthaccesstoken=;oauthaccesstokensecret=[$pwd]; ... )

    Hinweis

    Authentifizierungswerte müssen durch Benutzer nun über Kennwortdefinitionen übergeben werden, die mit dem PASSWORD-Befehl oder dem PASSWORD-Analysetag erstellt wurden. Weitere Informationen finden Sie unter Kennwortdefinitionen erstellen.

  4. Optional. Löschen Sie [$pwd] aus dem Kennwort-Schlüsselnamen mit verborgenem Authentifizierungswert.

    Mit diesem Kennwort-Schlüsselnamen können Sie eine beliebige der beiden Methoden zur Angabe einer Kennwortdefinition im ACCESSDATA-Befehl verwenden. Weitere Informationen finden Sie unter Zwei Optionen zur Festlegung von Kennwortdefinitionen.

  5. Löschen Sie den Parameter PROMPT_PASSWORD aus dem Befehl ACCESSDATA.
  6. Fügen Sie nummerierte PASSWORD-Parameter an der Stelle ein, wo Sie PROMPT_PASSWORD gelöscht haben. Kopieren Sie dann die Kennwort-Schlüsselnamen aus dem SOURCE-Parameter und fügen Sie sie in die PASSWORD-Parameter ein.

    Beispiel:

    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=; ... )

    Wichtig

    Kennwort-Schlüsselnamen müssen im SOURCE-Parameter und in den PASSWORD-Parametern genau identisch sein. Wenn dies nicht der Fall ist, wird der ACCESSDATA-Befehl fehlschlagen.

  7. Falls Sie [$pwd] nicht aus dem Kennwort-Schlüsselnamen mit verborgenem Authentifizierungswert entfernt haben, verwenden Sie die Methode zur Festlegung einer einzelnen Kennwortdefinition.

    Beispiel:

    ACCESSDATA64 CONNECTOR NAME "Twitter" PASSWORD 1 AS oauthclientid PASSWORD 2 AS oauthclientsecret PASSWORD 3 AS oauthaccesstoken PASSWORD 4 ... SOURCE( oauthclientid=;oauthclientsecret=;oauthaccesstoken=;oauthaccesstokensecret=[$pwd]; ... )

    Ergebnis Der Befehl ACCESSDATA kann nun zusammen mit getrennt erstellten Kennwortdefinitionen in einem Importskript verwendet werden, ohne dass Authentifizierungswerte in den SOURCE-Verbindungseinstellungen im Klartext angezeigt werden.

Mehrstufige Authentifizierung ist nicht geeignet

Sie können den ACCESSDATA-Befehl nicht verwenden, um auf Datenquellen zuzugreifen, die eine mehrstufige Authentifizierung (MFA) erfordern. Skripts können sich nicht auf diese Art authentifizieren. Wenn Sie Daten benötigen, die durch MFA geschützt werden, fragen Sie nach, ob Ihre Organisation die Verwendung eines generischen Arbeitskontos erlaubt, das keine MFA erfordert.

Updates von Datenkonnektoren

Wenn Sie Analytics, oder den Robots-Agent aktualisieren, sollten Sie Ihre Skripts für Datenimporte mit einem der Analytics-Datenkonnektoren (Befehl ACCESSDATA) testen.

Es besteht die Möglichkeit, dass Änderungen eines Drittanbieters von Datenquellen oder eines Herstellers von ODBC-Treibern Aktualisierungen eines oder mehrerer Datenkonnektoren erfordert. Über Skripts hergestellte Datenverbindungen müssen unter Umständen aktualisiert werden, um nach wie vor ordnungsgemäß zu arbeiten.

  • Import erneut durchführen Die einfachste Möglichkeit, eine Verbindung zu aktualisieren, ist die manuelle Durchführung eines Imports mit dem Fenster „Datenzugriff“ der aktualisierten Version von Analytics. Kopieren Sie den Befehl ACCESSDATA aus dem Protokoll, und verwenden Sie ihn zur Aktualisierung Ihres Skripts.

    Hinweis

    Bevor Sie sich mit einer Datenquelle verbinden und den Import erneut ausführen, löschen Sie den Cache des Konnektors, um bestehende Tabellennamen zu entfernen.

    In der Registerkarte Bestehende Verbindungen des Fensters „Datenzugriff“ wählen Sie  > Cache löschen.

  • Feldspezifikationen aktualisieren Unter Umständen müssen Sie auch Feldspezifikationen im Skriptkörper aktualisieren, um die Änderungen des Tabellenschemas in der Datenquelle oder dem ODBC-Treiber anzupassen. Mögliche Änderungen beinhalten Feldnamen, Datentypen von Feldern sowie Feld- und Datensatzlängen.
  • Ergebnisse von Filtern überprüfen Sie sollten auch Ergebnisse von Filtern überprüfen, die Sie im Rahmen des Datenimports nutzen. Stellen Sie sicher, dass der Importfilter Datensätze ordnungsgemäß ein- und ausschließt.

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.

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

    Analytics

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.

Paralleler Import mehrerer SAP-Tabellen

Wenn Sie mehrere SAP-Tabellen als Grundlage für nachfolgende Analysen in Analytics importieren müssen, ist die schnellste und effizienteste Methode, die Tabellen parallel (oder asynchron) vom SAP-System herunterzuladen, bevor Sie sie in Analytics importieren. Die Gesamtzahl der Tabellen, die Sie für den asynchronen Download angeben können, ist nicht begrenzt, allerdings können immer nur fünf Tabellen gleichzeitig heruntergeladen werden.

Richtlinien für die Skripterstellung

Befolgen Sie diese Richtlinien, um einen parallelen Download und anschließenden Import von SAP-Tabellen durchzuführen:

  • Block von ACCESSDATA-Befehlen Erstellen Sie einen Block von ACCESSDATA-Befehlen – einen Befehl für jede SAP-Tabelle, die Sie herunterladen möchten. Der Block von ACCESSDATA-Befehlen muss zusammenhängend sein, ohne einer anderen Art von ACLScript-Befehl dazwischen.

  • Verwendung der richtigen Bit-Version Verwenden Sie die 64-Bit-Version des ACCESSDATA-Befehls (ACCESSDATA64). Sie können ACCESSDATA32 verwenden, wenn Sie eine 32-Bit-Version des SAP GUI für Windows installiert haben. Es wird jedoch empfohlen, ACCESSDATA64 zu verwenden, um einen möglichen Speicherausnahmefehler zu vermeiden. Sie müssen ACCESSDATA64 verwenden, wenn Sie eine 64-Bit-Version des SAP GUI installiert haben. Weitere Informationen zu SAP GUI finden Sie unter ACL-Konnektor für SAP einrichten.

    Sie können ACCESSDATA64 und ACCESSDATA32 nicht im gleichen Block von ACCESSDATA-Befehlen kombinieren.

  • ASYNC-Parameter Jeder ACCESSDATA-Befehl muss den Parameter ASYNC verwenden. Sie können asynchrone und synchrone SAP-Downloads nicht in einem Befehlsblock kombinieren.

  • Verbindungszeichenfolge Alle Befehle im Block müssen dieselbe Verbindungszeichenfolge verwenden, um sich mit demselben SAP-Server zu verbinden.

  • GETSAPDATA-Befehl Auf den letzten ACCESSDATA-Befehl muss unmittelbar der Befehl GETSAPDATA folgen. Es darf keine andere Art von ACLScript-Befehl dazwischen liegen, mit Ausnahme des COMMENT-Befehls.

    Nach einem parallelen Download von SAP-Tabellen importiert GETSAPDATA die durch den Download erzeugten Analytics-Tabellen in ein Analytics-Projekt. Wenn einer der Downloadvorgänge im Block der ACCESSDATA-Befehle fehlschlägt, schlägt auch der GETSAPDATA-Befehl fehl. In diesem Fall werden keine Tabellen zum Projekt hinzugefügt, selbst wenn einige SAP-Tabellen erfolgreich heruntergeladen wurden.

 

Paralleles Herunterladen und Importieren mehrerer SAP-Tabellen über den SAP-Konnektor

Sie müssen Daten aus drei SAP-Tabellen, die die Grundlage für die anschließende Analyse bilden, herunterladen und importieren:

  • T001
  • T002
  • T003

Der effizienteste Ansatz ist, die Tabellen parallel herunterzuladen. Sie stellen einen Block von ACCESSDATA-Befehlen zusammen – einen Befehl für jede Tabelle. Jeder Befehl verwendet den Parameter ASYNC, um anzugeben, dass die drei Downloadvorgänge parallel (d. h. asynchron) erfolgen.

Unmittelbar nach dem Block der ACCESSDATA-Befehle verwenden Sie den Befehl GETSAPDATA, um die heruntergeladenen Tabellen in das Analytics-Projekt zu importieren.

COMMENT Paralleler Download von SAP-Tabellen

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 COMMENT Import der drei heruntergeladenen Tabellen in das Analytics-Projekt GETSAPDATA