SAP HANA Database Connector

Categorie: Database Connectors

Introductie

Dit document is gemaakt om te helpen bij het opzetten van een mindzieDataDesigner-connector naar een SAP HANA-database. De mindzieDataDesigner is de ETL-tool die door mindzieStudio wordt gebruikt om databasetabellen om te zetten naar process mining gebeurtenislogs. Het doel van dit document is om te helpen bij het creëren van de connectiestring en het openen van poorten in de firewall indien nodig.

Overzicht

De SAP HANA-connector gebruikt ODBC om robuuste connectiviteit te bieden met SAP HANA-databases. Deze connector is geoptimaliseerd voor zakelijke SAP-omgevingen en ondersteunt on-premise SAP HANA-instanties, waardoor het ideaal is voor process mining van grootschalige enterprise data.

Systeemvereisten

  • Databasesysteem: SAP HANA 1.0 of hoger (2.0 aanbevolen)
  • Implementatieopties: On-premise
  • ODBC-driver: SAP HANA ODBC Driver (minimale versie 2.4)

Vereisten

De SAP HANA ODBC-driver moet op uw systeem geïnstalleerd zijn. Raadpleeg de SAP-documentatie voor installatie-instructies.

Format Connectiestring

Basis ODBC-verbinding

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

Connectieparameters

Parameter Beschrijving Vereist Voorbeeld
Driver ODBC drivernaam Ja {HDBODBC} of {SAP HANA ODBC Driver}
ServerNode HANA-server en poort Ja hana-server.company.com:30015
Database Doeldatabase/tenant Nee PRD of SystemDB
UID Gebruikersnaam Ja MINDZIE_USER
PWD Wachtwoord Ja SecurePassword123
CHAR_AS_UTF8 UTF-8 karakterverwerking Nee 1
CONNECTTIMEOUT Connectietimeout Nee 30
COMMUNICATIONTIMEOUT Communicatietimeout Nee 0 (onbeperkt)
RECONNECT Auto-herconnectie instelling Nee 1 (ingeschakeld)
ENCRYPT Versleuteling inschakelen Nee true

Voorbeelden van connecties

Standaard On-Premise Verbinding

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

Multi-Tenant Database Container (MDC)

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

High Availability Verbinding

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

Vereiste SAP HANA Rechten

De volgende SQL-voorbeelden tonen de typische rechten die nodig zijn voor process mining. Vervang de voorbeeldschema-, tabel- en gebruikersnamen door uw eigen waarden:

-- Verleen toegang tot schema (vervang "PROCESS_MINING" door uw schema naam)
GRANT SELECT ON SCHEMA "YOUR_SCHEMA_NAME" TO YOUR_USERNAME;

-- Verleen rechten op tabellen (vervang door uw daadwerkelijke tabelnamen)
GRANT SELECT ON "YOUR_SCHEMA_NAME"."YOUR_TABLE_NAME" TO YOUR_USERNAME;

-- Voor systeemviews (indien nodig voor metadata toegang)
GRANT SELECT ON SYS.M_DATABASES TO YOUR_USERNAME;

Voorbeeld met voorbeeldnamen:

-- Voorbeeldrechten met voorbeeldnamen
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 van ODBC-verbindingen

Na het configureren van uw ODBC-verbinding kunt u deze testen met verschillende tools:

Windows ODBC Data Source Administrator

  • Ingebouwde Windows-tool (odbcad32.exe)
  • Configureer en test ODBC-verbindingen
  • Toegang via Configuratiescherm → Systeembeheer → ODBC Data Sources

Database Client Tools

  • DBeaver: Gratis, cross-platform database tool met ODBC-ondersteuning
  • HeidiSQL: Windows-gebaseerde SQL-client die ODBC-verbindingen ondersteunt
  • SQL Server Management Studio: Kan verbinden met SAP HANA via ODBC
  • Toad for SAP: Commerciële tool met native SAP HANA ondersteuning

Microsoft Office Applicaties

  • Excel: Verbinden via Data → Gegevens ophalen → Uit andere bronnen → Uit ODBC
  • Power BI: Native SAP HANA-connector en ODBC-ondersteuning
  • Access: Tabellen koppelen via ODBC-verbindingen

Command Line Tools

  • isql: Unix/Linux command line tool voor het testen van ODBC-verbindingen
  • osql/sqlcmd: Windows command line utilities (beperkte SAP HANA ondersteuning)

Eenvoudige Test Query

Test na verbinden met een eenvoudige query:

SELECT CURRENT_TIMESTAMP FROM SYS.DUMMY;

Firewall Configuratie

Vereiste Firewall Poorten

De volgende poorten moeten geopend zijn in uw firewall voor SAP HANA ODBC-verbindingen:

Poort Doel Standaardinstantie (00)
30013 SystemDB SQL-verbinding Toegang tot systeemdatabase
30015 Tenant Database SQL-verbinding Eerste tenant database
443 SAP HANA Cloud (HTTPS/SSL) Alleen cloudconnecties

Poortnummering Schema

  • System Database: Poort 30013 (voor standaardinstantie 00)
  • Tenant Database: Poort 30015 (voor standaardinstantie 00)
  • Patroon: 3NN13 (SystemDB) of 3NN15 (Tenant DB), waarbij NN = instantie nummer

Let op: Poortnummers kunnen aangepast zijn tijdens de SAP HANA installatie. Controleer bij uw SAP HANA-beheerder welke poorten in uw omgeving worden gebruikt.

Extra Overwegingen

  • High Availability: Meerdere poorten kunnen nodig zijn voor clusterconfiguraties
  • Load Balancers: Extra poorten kunnen noodzakelijk zijn voor load balancer configuraties

Referentie: SAP Note 2477204 - FAQ: SAP HANA Services and Ports (vereist SAP support toegang)

Toegang mindzie Server

Voor verhoogde beveiliging kunt u uw firewall zo configureren dat alleen verbindingen vanaf mindzie-servers worden toegestaan door specifieke IP-adressen op de whitelist te zetten. Neem contact op met mindzie support om de actuele IP-adressen van de mindzie-servers die u gebruikt te verkrijgen.

CDPOS Wijzigingsdocument Extractie

CDPOS is een cruciale SAP-tabel die veldniveau wijzigingen van bedrijfsobjecten opslaat, vaak gebruikt in process mining om gedetailleerde wijzigingen te volgen. Omdat CDPOS zelf geen datumvelden bevat, moet het gekoppeld worden aan CDHDR (Change Document Header) voor tijdsgebaseerde filtering.

Oracle Database Query

-- ORACLE SQL VERSIE: ALLE CDPOS RECORDS VAN DE LAATSTE 2 JAAR OPHALEN
-- CDPOS heeft GEEN datum-/tijdvelden - moet gekoppeld worden aan CDHDR voor filtering

-- DOCUMENTATIE REFERENTIES:
-- 1. CDHDR.UDATE = "Aanmaakdatum van het wijzigingsdocument" (SAP Datasheet)
-- 2. CDPOS.CHANGENR = CDHDR.CHANGENR is de standaard koppeling (SAP Community)
-- 3. "Deze twee tabellen zijn verbonden door het wijzigingsnummer" (Techlorean)
-- 4. CDHDR bevat header info, CDPOS veldniveau details

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

-- ORACLE SPECIFIEKE AANDACHTSPUNTEN:
-- 1. Gebruikt ADD_MONTHS(SYSDATE, -24) voor 2-jaar datum berekening
-- 2. SYSDATE retourneert huidige datum/tijd
-- 3. Alternatief: CDHDR.UDATE >= SYSDATE - INTERVAL '2' YEAR
-- 4. Datumformaat in CDHDR.UDATE moet compatibel zijn met Oracle DATE-type

SAP ODBC Query

-- SAP SQL VIA ODBC CONNECTOR: ALLE CDPOS RECORDS VAN DE LAATSTE 2 JAAR OPHALEN
-- CDPOS heeft GEEN datum-/tijdvelden - moet gekoppeld worden aan CDHDR voor filtering

-- DOCUMENTATIE REFERENTIES:
-- 1. CDHDR.UDATE = "Aanmaakdatum van het wijzigingsdocument" (SAP Datasheet)
-- 2. CDPOS.CHANGENR = CDHDR.CHANGENR is de standaard koppeling (SAP Community)
-- 3. "Deze twee tabellen zijn verbonden door het wijzigingsnummer" (Techlorean)
-- 4. CDHDR bevat header info, CDPOS veldniveau details

-- BELANGRIJK: CDPOS is een clustertabel - directe joins kunnen mogelijk niet werken via ODBC
-- Deze query moet mogelijk worden opgesplitst in aparte queries afhankelijk van SAP-versie

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

-- SAP SQL SPECIFIEKE AANDACHTSPUNTEN:
-- 1. Gebruikt ADD_DAYS(CURRENT_DATE, -730) voor 2-jaar berekening (SAP HANA)
-- 2. Voor oudere SAP-systemen mogelijk: CDHDR.UDATE >= '20220101' (harde datum)
-- 3. CDPOS is een clustertabel - kan speciale verwerking vereisen via ODBC
-- 4. Alternatief voor niet-HANA: Gebruik datum aftrekken indien ondersteund
-- 5. Datumformaat: CDHDR.UDATE is doorgaans in YYYYMMDD formaat in SAP
-- 6. Voor maximale compatibiliteit, gebruik client-side datumparameter:
--    WHERE CDHDR.UDATE >= '?' -- Parameter voor datum 2 jaar geleden

-- CLUSTER TABEL WAARSCHUWING:
-- CDPOS is een clustertabel in SAP, wat problemen kan geven met ODBC-verbindingen
-- Overweeg het gebruik van SAP RFC of function modules voor betere prestaties
-- Alternatief: Eerst CDHDR query'en, daarna CDPOS apart op basis van CHANGENR-waarden

SQL Server (T-SQL) Query

-- T-SQL (SQL SERVER) VERSIE: ALLE CDPOS RECORDS VAN DE LAATSTE 2 JAAR OPHALEN
-- CDPOS heeft GEEN datum-/tijdvelden - moet gekoppeld worden aan CDHDR voor filtering

-- DOCUMENTATIE REFERENTIES:
-- 1. CDHDR.UDATE = "Aanmaakdatum van het wijzigingsdocument" (SAP Datasheet)
-- 2. CDPOS.CHANGENR = CDHDR.CHANGENR is de standaard koppeling (SAP Community)
-- 3. "Deze twee tabellen zijn verbonden door het wijzigingsnummer" (Techlorean)
-- 4. CDHDR bevat header info, CDPOS veldniveau details

SELECT CDPOS.*
FROM CDPOS
INNER JOIN CDHDR ON CDPOS.CHANGENR = CDHDR.CHANGENR
WHERE CDHDR.UDATE >= DATEADD(YEAR, -2, GETDATE())  -- T-SQL: Laatste 2 jaar vanaf huidige datum

-- T-SQL SPECIFIEKE AANDACHTSPUNTEN:
-- 1. Gebruikt DATEADD(YEAR, -2, GETDATE()) voor 2-jaar datumberekening
-- 2. GETDATE() retourneert huidige datum/tijd
-- 3. Alternatief: CDHDR.UDATE >= DATEADD(MONTH, -24, GETDATE())
-- 4. Datumformaat in CDHDR.UDATE moet compatibel zijn met SQL Server datetime
-- 5. Mogelijk CONVERT() nodig als UDATE is opgeslagen als string in YYYYMMDD formaat:
--    WHERE CONVERT(datetime, CDHDR.UDATE, 112) >= DATEADD(YEAR, -2, GETDATE())

ODBC Driver Installatie (alleen mindzieStudio Server)

Let op: Deze sectie is alleen vereist voor de server waarop mindzieStudio draait.

Download

Ga naar: https://tools.hana.ondemand.com/#hanatools

  1. Maak een gratis SAP-account aan indien nodig (snelle registratie)
  2. Zoek: SAP HANA Client
  3. Download: Windows on x64 64bit versie
  4. Bestandsnaam: hanaclient-x.x.x.x-windows-x64.zip

Installatie

  1. Pak het ZIP-bestand uit
  2. Start hdbsetup.exe als Administrator
  3. Kies "Install new SAP HANA client"
  4. Volg de wizard (accepteer standaardinstellingen)
  5. Klaar!

Installatie Controleren

Voer uit in PowerShell:

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

Er zou moeten verschijnen: HDBODBC [64-bit]

Driver staat niet in lijst na installatie

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

Probleemoplossing

Veelvoorkomende Connectieproblemen

"Kan niet verbinden met server" Fout

  • Controleer serverhostnaam en poortnummer
  • Controleer netwerkverbinding en firewallregels
  • Zorg dat SAP HANA-instantie draait en verbindingen accepteert
  • Controleer status van HANA service met HDB info

"Authenticatie mislukt" Fout

  • Controleer of gebruikersnaam en wachtwoord juist zijn
  • Check of gebruikersaccount geblokkeerd of verlopen is
  • Zorg dat gebruiker CONNECT-privilege heeft
  • Controleer naleving wachtwoordbeleid

"Driver niet gevonden" Fout

  • Installeer SAP HANA ODBC-driver via SAP HANA Client
  • Controleer driverregistratie in ODBC Data Source Administrator
  • Controleer 32-bit versus 64-bit driver compatibiliteit
  • Zorg dat driverpad in systeem-PATH staat

"Tabel of view bestaat niet" Fout

  • Controleer namen van tabellen/views en schema verwijzingen
  • Controleer gebruikersrechten op specifieke objecten
  • Gebruik volledig gekwalificeerde namen: SCHEMA.TABEL
  • Let op hoofdlettergevoeligheid in objectnamen

Gerelateerde Informatie


Bronnen en Referenties

Deze documentatie is gebaseerd op de volgende bronnen:

Officiële SAP Documentatie

Community en Technische Bronnen