SAP HANA Datenbank-Connector

Kategorie: Datenbank-Connectoren

Einführung

Dieses Dokument wurde erstellt, um bei der Einrichtung eines mindzieDataDesigner-Connectors zur SAP HANA-Datenbank zu helfen. Der mindzieDataDesigner ist das ETL-Tool, das von mindzieStudio verwendet wird, um Datenbanktabellen in Process Mining Event Logs umzuwandeln. Ziel dieses Dokuments ist es, bei der Erstellung des Verbindungsstrings und dem Öffnen von Ports in der Firewall zu helfen, sofern erforderlich.

Übersicht

Der SAP HANA-Connector verwendet ODBC, um eine robuste Verbindung zu SAP HANA-Datenbanken bereitzustellen. Dieser Connector ist für unternehmensweite SAP-Umgebungen optimiert und unterstützt On-Premise SAP HANA-Instanzen, was ihn ideal für das Process Mining großer Unternehmensdaten macht.

Systemanforderungen

  • Datenbanksystem: SAP HANA 1.0 oder höher (2.0 empfohlen)
  • Bereitstellungsoptionen: On-Premise
  • ODBC-Treiber: SAP HANA ODBC-Treiber (mindestens Version 2.4)

Voraussetzungen

Der SAP HANA ODBC-Treiber muss auf Ihrem System installiert sein. Bitte beachten Sie die SAP-Dokumentation für Installationsanweisungen.

Verbindungsstring-Format

Grundlegende ODBC-Verbindung

Driver={HDBODBC};ServerNode=hostname:port;Database=database_name;UID=username;PWD=password;

Verbindungsparameter

Parameter Beschreibung Erforderlich Beispiel
Driver Name des ODBC-Treibers Ja {HDBODBC} oder {SAP HANA ODBC Driver}
ServerNode HANA-Server und Port Ja hana-server.company.com:30015
Database Ziel-Datenbank/Mandant Nein PRD oder SystemDB
UID Benutzername Ja MINDZIE_USER
PWD Passwort Ja SecurePassword123
CHAR_AS_UTF8 UTF-8 Zeichenbehandlung Nein 1
CONNECTTIMEOUT Verbindungs-Timeout Nein 30
COMMUNICATIONTIMEOUT Kommunikations-Timeout Nein 0 (unbegrenzt)
RECONNECT Automatisches Wiederverbinden Nein 1 (aktiviert)
ENCRYPT Verschlüsselung aktivieren Nein true

Verbindungsbeispiele

Standard On-Premise Verbindung

Driver={HDBODBC};ServerNode=hana-prod.company.com:30015;Database=PRD;UID=PROCESS_MINING_USER;PWD=SecurePassword123;CHAR_AS_UTF8=1;

Multi-Tenant-Datenbank-Container (MDC)

Driver={HDBODBC};ServerNode=hana-server:30013;Database=TENANT_DB;UID=MINDZIE_USER;PWD=password;

Hochverfügbarkeits-Verbindung

Driver={HDBODBC};ServerNode=hana-node1:30015,hana-node2:30015,hana-node3:30015;Database=PRD;UID=MINDZIE_USER;PWD=password;RECONNECT=1;

Erforderliche SAP HANA-Berechtigungen

Die folgenden SQL-Beispiele zeigen die typischen Berechtigungen, die für Process Mining benötigt werden. Ersetzen Sie die Beispielnamen für Schema, Tabellen und Benutzer durch Ihre tatsächlichen Werte:

-- Schema-Zugriff gewähren (ersetzen Sie "PROCESS_MINING" durch Ihren Schemanamen)
GRANT SELECT ON SCHEMA "YOUR_SCHEMA_NAME" TO YOUR_USERNAME;

-- Tabellenebene Berechtigungen gewähren (ersetzen Sie durch Ihre tatsächlichen Tabellennamen)
GRANT SELECT ON "YOUR_SCHEMA_NAME"."YOUR_TABLE_NAME" TO YOUR_USERNAME;

-- Für Systemansichten (falls für Metadatenzugriff benötigt)
GRANT SELECT ON SYS.M_DATABASES TO YOUR_USERNAME;

Beispiel mit Beispielnamen:

-- Beispielberechtigungen mit Beispielnamen
GRANT SELECT ON SCHEMA "PROCESS_MINING" TO MINDZIE_USER;
GRANT SELECT ON "PROCESS_MINING"."EVENT_LOG" TO MINDZIE_USER;
GRANT SELECT ON SYS.M_DATABASES TO MINDZIE_USER;

Testen von ODBC-Verbindungen

Nach der Konfiguration Ihrer ODBC-Verbindung können Sie diese mit verschiedenen Werkzeugen testen:

Windows ODBC-Datenquellen-Verwaltung

  • Eingebautes Windows-Tool (odbcad32.exe)
  • Konfigurieren und testen von ODBC-Verbindungen
  • Zugriff über Systemsteuerung → Verwaltung → ODBC-Datenquellen

Datenbank-Client-Tools

  • DBeaver: Kostenloses, plattformübergreifendes Datenbank-Tool mit ODBC-Unterstützung
  • HeidiSQL: Windows-basierter SQL-Client mit ODBC-Unterstützung
  • SQL Server Management Studio: Kann über ODBC eine Verbindung zu SAP HANA herstellen
  • Toad for SAP: Kommerzielles Tool mit nativer SAP HANA-Unterstützung

Microsoft Office-Anwendungen

  • Excel: Verbindung über Daten → Daten abrufen → Aus anderen Quellen → Aus ODBC
  • Power BI: Nativer SAP HANA-Connector und ODBC-Unterstützung
  • Access: Verknüpfung von Tabellen über ODBC-Verbindungen

Kommandozeilen-Tools

  • isql: Unix/Linux Kommandozeilen-Tool zum Testen von ODBC-Verbindungen
  • osql/sqlcmd: Windows Kommandozeilen-Tools (eingeschränkte SAP HANA-Unterstützung)

Einfacher Testabfrage

Sobald die Verbindung steht, testen Sie mit einer einfachen Abfrage:

SELECT CURRENT_TIMESTAMP FROM SYS.DUMMY;

Firewall-Konfiguration

Erforderliche Firewall-Ports

Folgende Ports müssen für SAP HANA ODBC-Verbindungen in Ihrer Firewall geöffnet sein:

Port Zweck Standardinstanz (00)
30013 SystemDB SQL-Verbindung Systemdatenbank-Zugriff
30015 Tenant-Datenbank SQL-Verbindung Erste Tenant-Datenbank
443 SAP HANA Cloud (HTTPS/SSL) Nur Cloud-Verbindungen

Port-Nummerierungsschema

  • Systemdatenbank: Port 30013 (für Standardinstanz 00)
  • Tenant-Datenbank: Port 30015 (für Standardinstanz 00)
  • Muster: 3NN13 (SystemDB) oder 3NN15 (Tenant DB), wobei NN die Instanznummer ist

Hinweis: Die Portnummern können während der SAP HANA Installation angepasst werden. Klären Sie mit Ihrem SAP HANA-Administrator die exakten Ports ab, die in Ihrer Umgebung verwendet werden.

Weitere Hinweise

  • Hochverfügbarkeit: Für Cluster-Konfigurationen können mehrere Ports erforderlich sein
  • Load Balancer: Zusätzliche Ports können für Load-Balancer-Konfigurationen notwendig sein

Referenz: SAP Note 2477204 - FAQ: SAP HANA Services und Ports (erfordert SAP Support-Zugang)

Zugriff für mindzie-Server

Für erhöhte Sicherheit können Sie Ihre Firewall so konfigurieren, dass Verbindungen nur von mindzie-Servern erlaubt sind, indem Sie bestimmte IP-Adressen auf die Whitelist setzen. Kontaktieren Sie den mindzie-Support, um die aktuellen IP-Adressen der von Ihnen genutzten mindzie-Server zu erhalten.

CDPOS Change Document Extraktion

CDPOS ist eine wichtige SAP-Tabelle, die Änderungsinformationen auf Feldebene für Geschäftsobjekte speichert und häufig im Process Mining verwendet wird, um detaillierte Veränderungsverläufe zu verfolgen. Da CDPOS keine eigenen Datumsfelder enthält, muss sie mit CDHDR (Change Document Header) für eine zeitbasierte Filterung verknüpft werden.

Oracle-Datenbank-Abfrage

-- ORACLE SQL VERSION: ALLE CDPOS-DATENSÄTZE DER LETZTEN 2 JAHRE ABRUFEN
-- CDPOS hat KEINE eigenen Datums- oder Zeitfelder - muss mit CDHDR für Filterung verbunden werden

-- DOKUMENTATIONSVERWEISE:
-- 1. CDHDR.UDATE = "Erstellungsdatum des Änderungsdokuments" (SAP-Datenblatt)
-- 2. CDPOS.CHANGENR = CDHDR.CHANGENR ist die Standardverknüpfung (SAP Community)
-- 3. "Diese beiden Tabellen sind über die Änderungsnummer verbunden" (Techlorean)
-- 4. CDHDR enthält Kopfzeileninformationen, CDPOS Feldänderungsdetails

SELECT CDPOS.*
FROM CDPOS
INNER JOIN CDHDR ON CDPOS.CHANGENR = CDHDR.CHANGENR
WHERE CDHDR.UDATE >= ADD_MONTHS(SYSDATE, -24)  -- Oracle: Letzte 24 Monate (2 Jahre)

-- ORACLE-SPEZIFISCHE HINWEISE:
-- 1. Verwendet ADD_MONTHS(SYSDATE, -24) für 2-Jahres-Berechnung
-- 2. SYSDATE liefert aktuelles Datum/Uhrzeit
-- 3. Alternative: CDHDR.UDATE >= SYSDATE - INTERVAL '2' YEAR
-- 4. Datumsformat in CDHDR.UDATE sollte kompatibel mit Oracle DATE sein

SAP ODBC-Abfrage

-- SAP SQL ÜBER ODBC CONNECTOR: ALLE CDPOS-DATENSÄTZE DER LETZTEN 2 JAHRE ABRUFEN
-- CDPOS hat KEINE eigenen Datums- oder Zeitfelder - muss mit CDHDR für Filterung verbunden werden

-- DOKUMENTATIONSVERWEISE:
-- 1. CDHDR.UDATE = "Erstellungsdatum des Änderungsdokuments" (SAP-Datenblatt)
-- 2. CDPOS.CHANGENR = CDHDR.CHANGENR ist die Standardverknüpfung (SAP Community)
-- 3. "Diese beiden Tabellen sind über die Änderungsnummer verbunden" (Techlorean)
-- 4. CDHDR enthält Kopfzeileninformationen, CDPOS Feldänderungsdetails

-- WICHTIG: CDPOS ist eine Clustertabelle - direkte Joins können via ODBC problematisch sein
-- Diese Abfrage muss je nach SAP-Version evtl. in mehrere Abfragen aufgeteilt werden

SELECT CDPOS.*
FROM CDPOS
INNER JOIN CDHDR ON CDPOS.CHANGENR = CDHDR.CHANGENR
WHERE CDHDR.UDATE >= ADD_DAYS(CURRENT_DATE, -730)  -- SAP HANA: Letzte 730 Tage (2 Jahre)

-- SAP SQL-SPEZIFISCHE HINWEISE:
-- 1. Verwendet ADD_DAYS(CURRENT_DATE, -730) für 2-Jahres-Berechnung (SAP HANA)
-- 2. Für ältere SAP-Systeme evtl.: CDHDR.UDATE >= '20220101' (hartcodiertes Datum)
-- 3. CDPOS ist eine Clustertabelle - erfordert ggf. spezielle Behandlung via ODBC
-- 4. Alternative für Nicht-HANA: Datumsdifferenz anwenden, falls unterstützt
-- 5. Datumsformat: CDHDR.UDATE ist normalerweise im Format JJJJMMTT in SAP
-- 6. Für maximale Kompatibilität: clientseitiger Datumsparameter nutzen:
--    WHERE CDHDR.UDATE >= '?' -- Parameter für Datum vor 2 Jahren

-- WARNUNG ZUR CLUSTERTABELLE:
-- CDPOS ist eine SAP-Clustertabelle, was Probleme bei ODBC-Verbindungen verursachen kann
-- Verwenden Sie alternativ SAP RFC oder Funktionsbausteine für bessere Leistung
-- Alternative: Zuerst CDHDR abfragen, dann CDPOS separat über CHANGENR-Werte abfragen

SQL Server (T-SQL) Abfrage

-- T-SQL (SQL SERVER) VERSION: ALLE CDPOS-DATENSÄTZE DER LETZTEN 2 JAHRE ABRUFEN
-- CDPOS hat KEINE eigenen Datums- oder Zeitfelder - muss mit CDHDR für Filterung verbunden werden

-- DOKUMENTATIONSVERWEISE:
-- 1. CDHDR.UDATE = "Erstellungsdatum des Änderungsdokuments" (SAP-Datenblatt)
-- 2. CDPOS.CHANGENR = CDHDR.CHANGENR ist die Standardverknüpfung (SAP Community)
-- 3. "Diese beiden Tabellen sind über die Änderungsnummer verbunden" (Techlorean)
-- 4. CDHDR enthält Kopfzeileninformationen, CDPOS Feldänderungsdetails

SELECT CDPOS.*
FROM CDPOS
INNER JOIN CDHDR ON CDPOS.CHANGENR = CDHDR.CHANGENR
WHERE CDHDR.UDATE >= DATEADD(YEAR, -2, GETDATE())  -- T-SQL: Letzte 2 Jahre ab aktuellem Datum

-- T-SQL-SPEZIFISCHE HINWEISE:
-- 1. Verwendet DATEADD(YEAR, -2, GETDATE()) für 2-Jahres-Berechnung
-- 2. GETDATE() liefert aktuelles Datum/Uhrzeit
-- 3. Alternative: CDHDR.UDATE >= DATEADD(MONTH, -24, GETDATE())
-- 4. Datumsformat in CDHDR.UDATE sollte mit SQL Server datetime kompatibel sein
-- 5. Möglicherweise CONVERT() nötig, falls UDATE als String im Format JJJJMMTT gespeichert ist:
--    WHERE CONVERT(datetime, CDHDR.UDATE, 112) >= DATEADD(YEAR, -2, GETDATE())

ODBC-Treiberinstallation (nur mindzieStudio Server)

Hinweis: Dieser Abschnitt ist nur für den Server relevant, auf dem mindzieStudio läuft.

Download

Gehen Sie zu: https://tools.hana.ondemand.com/#hanatools

  1. Erstellen Sie bei Bedarf ein kostenloses SAP-Konto (schnelle Registrierung)
  2. Suchen Sie nach: SAP HANA Client
  3. Laden Sie die Version Windows on x64 64bit herunter
  4. Dateiname: hanaclient-x.x.x.x-windows-x64.zip

Installation

  1. Entpacken Sie die ZIP-Datei
  2. Führen Sie hdbsetup.exe als Administrator aus
  3. Wählen Sie "Install new SAP HANA client"
  4. Folgen Sie dem Assistenten (Standardwerte akzeptieren)
  5. Fertig!

Installation überprüfen

Führen Sie in PowerShell aus:

Get-OdbcDriver | Where-Object {$_.Name -like "*HDB*"}

Es sollte angezeigt werden: HDBODBC [64-bit]

Treiber nach Installation nicht aufgelistet

cd "C:\Program Files\SAP\hdbclient"
hdbodbc_cons.exe -i

Fehlersuche

Häufige Verbindungsprobleme

Fehler "Verbindung zum Server nicht möglich"

  • Überprüfen Sie Server-Hostname und Portnummer
  • Prüfen Sie Netzwerkverbindung und Firewall-Regeln
  • Stellen Sie sicher, dass die SAP HANA-Instanz läuft und Verbindungen akzeptiert
  • Überprüfen Sie den HANA-Dienststatus mit HDB info

Fehler "Authentifizierung fehlgeschlagen"

  • Überprüfen Sie Benutzername und Passwort
  • Prüfen, ob das Benutzerkonto gesperrt oder abgelaufen ist
  • Sicherstellen, dass der Benutzer das CONNECT-Recht besitzt
  • Passwort-Richtlinien prüfen

Fehler "Treiber nicht gefunden"

  • Installieren Sie den SAP HANA ODBC-Treiber aus dem SAP HANA Client
  • Prüfen Sie die Registrierung des Treibers im ODBC-Datenquellen-Verwaltungsprogramm
  • Achten Sie auf 32-Bit vs. 64-Bit-Kompatibilität des Treibers
  • Stellen Sie sicher, dass der Treiberpfad in der System-PATH-Variable ist

Fehler "Tabelle oder Ansicht existiert nicht"

  • Überprüfen Sie Tabellen-/Ansichts- und Schemabezeichnungen
  • Prüfen Sie Benutzerrechte auf die jeweiligen Objekte
  • Nutzen Sie vollqualifizierte Namen: SCHEMA.TABELLE
  • Beachten Sie Groß-/Kleinschreibung in Objektbezeichnungen

Weiterführende Informationen


Quellen und Referenzen

Diese Dokumentation basiert auf folgenden Quellen:

Offizielle SAP-Dokumentation

Community- und Technische Ressourcen