SAP HANA
SAP HANA is supported as a source database — the database LakeXpress extracts data from. It cannot be used as the LakeXpress DB.
Connecting to SAP HANA requires the hdbcli Python driver. If you are using FastBCP for high-throughput exports, the HDBDOTNETCORE runtime is also required (see the note at the bottom of this page).
Connection Parameters
| Parameter | Required | Description |
|---|---|---|
ds_type | Yes | Must be "saphana" |
auth_mode | Yes | "classic" for individual fields; "connection_string" to supply a full ODBC connection string |
server | No | Hostname or IP (host is also accepted; default: localhost) |
port | No | Port (default: 39017) |
database | No | Tenant database name. Only relevant for multi-tenant (MDC) HANA systems; omit for single-tenant systems |
username | Classic only | SAP HANA username |
password | Classic only | SAP HANA password |
Required Permissions
-- Source database user:
GRANT SELECT ON SCHEMA your_schema TO lakexpress_user;
-- Metadata access:
GRANT SELECT ON SYS.TABLES TO lakexpress_user;
GRANT SELECT ON SYS.COLUMNS TO lakexpress_user;
Example: Source Database
{
"source_saphana": {
"ds_type": "saphana",
"auth_mode": "classic",
"info": {
"server": "hana-prod.company.com",
"port": 39017,
"database": "HDB",
"username": "$env{LX_HANA_USER}",
"password": "$env{LX_HANA_PASSWORD}"
}
}
}
Example: Connection String Mode
Use auth_mode: "connection_string" when you need to pass advanced ODBC driver options, or when your environment already manages connection strings centrally. The entire connection is expressed as a single connection_string value; the individual server, port, database, username, and password fields are not used.
{
"source_saphana_cs": {
"ds_type": "saphana",
"auth_mode": "connection_string",
"info": {
"connection_string": "DRIVER={HDBODBC};SERVERNODE=$env{LX_HANA_HOST}:39017;DATABASE=$env{LX_HANA_DB};UID=$env{LX_HANA_USER};PWD=$env{LX_HANA_PASSWORD}"
}
}
}
FastBCP uses this string as is. For its own connection, LakeXpress turns it into hdbcli arguments: SERVERNODE gives the host and port (a failover list such as hana1:30015,hana2:30015 is accepted), UID the user, PWD the password and DATABASE the tenant database; DRIVER is ignored and other keywords are passed as hdbcli connection properties.
FastBCP requires the HDBDOTNETCORE runtime. Set the HDBDOTNETCORE environment variable to the runtime directory path before running LakeXpress.
See Also
- Database Connections OverviewCredentials file format, security best practices