Conector de Base de Datos SAP HANA
Categoría: Conectores de Base de Datos
Introducción
Este documento está creado para ayudar a configurar un conector mindzieDataDesigner para la base de datos SAP HANA. El mindzieDataDesigner es la herramienta ETL utilizada por mindzieStudio para convertir tablas de bases de datos en registros de eventos para minería de procesos. El propósito de este documento es ayudar a crear la cadena de conexión y abrir los puertos en el firewall si es necesario.
Visión General
El conector SAP HANA utiliza ODBC para proporcionar una conectividad robusta a bases de datos SAP HANA. Este conector está optimizado para entornos SAP empresariales y soporta instancias on-premise de SAP HANA, por lo que es ideal para la minería de procesos en datos empresariales a gran escala.
Requisitos del Sistema
- Sistema de Base de Datos: SAP HANA 1.0 o superior (2.0 recomendado)
- Opciones de Despliegue: On-premise
- Controlador ODBC: Controlador SAP HANA ODBC (versión mínima 2.4)
Prerrequisitos
El controlador SAP HANA ODBC debe estar instalado en su sistema. Por favor, consulte la documentación de SAP para las instrucciones de instalación.
Formato de la Cadena de Conexión
Conexión Básica ODBC
Driver={HDBODBC};ServerNode=hostname:port;Database=database_name;UID=username;PWD=password;
Parámetros de Conexión
| Parámetro | Descripción | Requerido | Ejemplo |
|---|---|---|---|
Driver |
Nombre del controlador ODBC | Sí | {HDBODBC} o {SAP HANA ODBC Driver} |
ServerNode |
Servidor HANA y puerto | Sí | hana-server.company.com:30015 |
Database |
Base de datos/tenant objetivo | No | PRD o SystemDB |
UID |
Nombre de usuario | Sí | MINDZIE_USER |
PWD |
Contraseña | Sí | SecurePassword123 |
CHAR_AS_UTF8 |
Manejo de caracteres UTF-8 | No | 1 |
CONNECTTIMEOUT |
Tiempo de espera de conexión | No | 30 |
COMMUNICATIONTIMEOUT |
Tiempo de espera de comunicación | No | 0 (ilimitado) |
RECONNECT |
Configuración de reconexión automática | No | 1 (habilitado) |
ENCRYPT |
Habilitar cifrado | No | true |
Ejemplos de Conexión
Conexión Estándar On-Premise
Driver={HDBODBC};ServerNode=hana-prod.company.com:30015;Database=PRD;UID=PROCESS_MINING_USER;PWD=SecurePassword123;CHAR_AS_UTF8=1;
Contenedor Multi-Tenant (MDC)
Driver={HDBODBC};ServerNode=hana-server:30013;Database=TENANT_DB;UID=MINDZIE_USER;PWD=password;
Conexión de Alta Disponibilidad
Driver={HDBODBC};ServerNode=hana-node1:30015,hana-node2:30015,hana-node3:30015;Database=PRD;UID=MINDZIE_USER;PWD=password;RECONNECT=1;
Permisos Requeridos en SAP HANA
Los siguientes ejemplos SQL muestran los permisos típicos necesarios para minería de procesos. Sustituya los nombres de esquema, tabla y usuario por los valores reales:
-- Conceder acceso al esquema (reemplace "PROCESS_MINING" por el nombre de su esquema)
GRANT SELECT ON SCHEMA "YOUR_SCHEMA_NAME" TO YOUR_USERNAME;
-- Conceder permisos a nivel de tabla (reemplace con los nombres reales de sus tablas)
GRANT SELECT ON "YOUR_SCHEMA_NAME"."YOUR_TABLE_NAME" TO YOUR_USERNAME;
-- Para vistas del sistema (si se necesitan para acceso a metadatos)
GRANT SELECT ON SYS.M_DATABASES TO YOUR_USERNAME;
Ejemplo con nombres de muestra:
-- Permisos de ejemplo usando nombres de muestra
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;
Pruebas de Conexión ODBC
Después de configurar su conexión ODBC, puede probarla con varias herramientas:
Administrador de Orígenes de Datos ODBC de Windows
- Utilidad integrada de Windows (
odbcad32.exe) - Configurar y probar conexiones ODBC
- Acceso vía Panel de Control → Herramientas Administrativas → Orígenes de Datos ODBC
Herramientas Cliente de Base de Datos
- DBeaver: Herramienta gratuita multiplataforma con soporte ODBC
- HeidiSQL: Cliente SQL para Windows con soporte ODBC
- SQL Server Management Studio: Puede conectarse a SAP HANA a través de ODBC
- Toad for SAP: Herramienta comercial con soporte nativo SAP HANA
Aplicaciones de Microsoft Office
- Excel: Conectar vía Datos → Obtener Datos → Desde Otras Fuentes → Desde ODBC
- Power BI: Conector nativo SAP HANA y soporte ODBC
- Access: Vincular tablas mediante conexiones ODBC
Herramientas de Línea de Comandos
- isql: Herramienta de línea de comandos Unix/Linux para probar conexiones ODBC
- osql/sqlcmd: Utilidades de línea de comandos Windows (soporte SAP HANA limitado)
Consulta de Prueba Simple
Una vez conectado, pruebe con una consulta básica:
SELECT CURRENT_TIMESTAMP FROM SYS.DUMMY;
Configuración del Firewall
Puertos de Firewall Requeridos
Los siguientes puertos deben estar abiertos en su firewall para las conexiones ODBC SAP HANA:
| Puerto | Propósito | Instancia Predeterminada (00) |
|---|---|---|
| 30013 | Conexión SQL a SystemDB | Acceso a base de datos del sistema |
| 30015 | Conexión SQL a base de datos tenant | Primera base de datos tenant |
| 443 | SAP HANA Cloud (HTTPS/SSL) | Sólo conexiones a la nube |
Esquema de Numeración de Puertos
- Base de Datos del Sistema: Puerto 30013 (para instancia predeterminada 00)
- Base de Datos Tenant: Puerto 30015 (para instancia predeterminada 00)
- Patrón: 3NN13 (SystemDB) o 3NN15 (Tenant DB), donde NN = número de instancia
Nota: Los números de puerto pueden ser personalizados durante la instalación de SAP HANA. Consulte con su administrador de SAP HANA para conocer los puertos exactos que se usan en su entorno.
Consideraciones Adicionales
- Alta Disponibilidad: Se pueden requerir múltiples puertos para configuraciones de clúster
- Balanceadores de Carga: Se pueden necesitar puertos adicionales para configuraciones de balanceo
Referencia: Nota SAP 2477204 - Preguntas Frecuentes: Servicios y Puertos SAP HANA (requiere acceso a soporte SAP)
Acceso a Servidores mindzie
Para mayor seguridad, puede configurar su firewall para permitir solamente conexiones desde servidores mindzie mediante una lista blanca de direcciones IP específicas. Contacte al soporte mindzie para obtener las direcciones IP actuales de los servidores mindzie que utiliza.
Extracción de Documentos de Cambio CDPOS
CDPOS es una tabla crucial de SAP que almacena cambios a nivel de campo en objetos de negocio, comúnmente usada en minería de procesos para rastrear modificaciones detalladas. Como CDPOS no tiene campos de fecha directamente, debe unirse con CDHDR (Encabezado de Documento de Cambio) para filtrado basado en tiempo.
Consulta Oracle Database
-- VERSIÓN ORACLE SQL: OBTENER TODOS LOS REGISTROS CDPOS DE LOS ÚLTIMOS 2 AÑOS
-- CDPOS NO tiene campos de fecha/hora - debe unirse con CDHDR para el filtrado
-- REFERENCIAS DE DOCUMENTACIÓN:
-- 1. CDHDR.UDATE = "Fecha de creación del documento de cambio" (Ficha SAP)
-- 2. CDPOS.CHANGENR = CDHDR.CHANGENR es la unión estándar (Comunidad SAP)
-- 3. "Estas dos tablas están conectadas por el número de cambio" (Techlorean)
-- 4. CDHDR contiene info de encabezado, CDPOS contiene detalles a nivel de campo
SELECT CDPOS.*
FROM CDPOS
INNER JOIN CDHDR ON CDPOS.CHANGENR = CDHDR.CHANGENR
WHERE CDHDR.UDATE >= ADD_MONTHS(SYSDATE, -24) -- Oracle: últimos 24 meses (2 años)
-- NOTAS ESPECÍFICAS DE ORACLE:
-- 1. Usa ADD_MONTHS(SYSDATE, -24) para cálculo de 2 años
-- 2. SYSDATE devuelve fecha/hora actual
-- 3. Alternativa: CDHDR.UDATE >= SYSDATE - INTERVAL '2' YEAR
-- 4. Formato de fecha en CDHDR.UDATE debe ser compatible con tipo DATE de Oracle
Consulta SAP ODBC
-- SQL SAP VÍA CONECTOR ODBC: OBTENER TODOS LOS REGISTROS CDPOS DE LOS ÚLTIMOS 2 AÑOS
-- CDPOS NO tiene campos de fecha/hora - debe unirse con CDHDR para el filtrado
-- REFERENCIAS DE DOCUMENTACIÓN:
-- 1. CDHDR.UDATE = "Fecha de creación del documento de cambio" (Ficha SAP)
-- 2. CDPOS.CHANGENR = CDHDR.CHANGENR es la unión estándar (Comunidad SAP)
-- 3. "Estas dos tablas están conectadas por el número de cambio" (Techlorean)
-- 4. CDHDR contiene info de encabezado, CDPOS contiene detalles a nivel de campo
-- IMPORTANTE: CDPOS es una tabla cluster - las uniones directas pueden no funcionar vía ODBC
-- Esta consulta puede necesitar dividirse en consultas separadas según la versión SAP
SELECT CDPOS.*
FROM CDPOS
INNER JOIN CDHDR ON CDPOS.CHANGENR = CDHDR.CHANGENR
WHERE CDHDR.UDATE >= ADD_DAYS(CURRENT_DATE, -730) -- SAP HANA: últimos 730 días (2 años)
-- NOTAS ESPECÍFICAS DE SQL SAP:
-- 1. Usa ADD_DAYS(CURRENT_DATE, -730) para cálculo de 2 años (SAP HANA)
-- 2. Para sistemas SAP antiguos, puede necesitar: CDHDR.UDATE >= '20220101' (fecha fija)
-- 3. CDPOS es una tabla cluster - puede requerir manejo especial vía ODBC
-- 4. Alternativa para no-HANA: usar resta de FECHA si está soportada
-- 5. Formato de fecha: CDHDR.UDATE es típicamente formato YYYYMMDD en SAP
-- 6. Para máxima compatibilidad, usar parámetro de fecha en cliente:
-- WHERE CDHDR.UDATE >= '?' -- Parámetro para fecha hace 2 años
-- ADVERTENCIA SOBRE TABLAS CLUSTER:
-- CDPOS es una tabla cluster en SAP, lo que puede causar problemas con conexiones ODBC
-- Considere usar SAP RFC o módulos de función para mejor desempeño
-- Alternativa: Consultar CDHDR primero, luego CDPOS por separado usando valores CHANGENR
Consulta SQL Server (T-SQL)
-- VERSIÓN T-SQL (SQL SERVER): OBTENER TODOS LOS REGISTROS CDPOS DE LOS ÚLTIMOS 2 AÑOS
-- CDPOS NO tiene campos de fecha/hora - debe unirse con CDHDR para el filtrado
-- REFERENCIAS DE DOCUMENTACIÓN:
-- 1. CDHDR.UDATE = "Fecha de creación del documento de cambio" (Ficha SAP)
-- 2. CDPOS.CHANGENR = CDHDR.CHANGENR es la unión estándar (Comunidad SAP)
-- 3. "Estas dos tablas están conectadas por el número de cambio" (Techlorean)
-- 4. CDHDR contiene info de encabezado, CDPOS contiene detalles a nivel de campo
SELECT CDPOS.*
FROM CDPOS
INNER JOIN CDHDR ON CDPOS.CHANGENR = CDHDR.CHANGENR
WHERE CDHDR.UDATE >= DATEADD(YEAR, -2, GETDATE()) -- T-SQL: últimos 2 años desde fecha actual
-- NOTAS ESPECÍFICAS DE T-SQL:
-- 1. Usa DATEADD(YEAR, -2, GETDATE()) para cálculo de 2 años
-- 2. GETDATE() devuelve fecha/hora actual
-- 3. Alternativa: CDHDR.UDATE >= DATEADD(MONTH, -24, GETDATE())
-- 4. Formato de fecha en CDHDR.UDATE debe ser compatible con datetime de SQL Server
-- 5. Puede ser necesario CONVERT() si UDATE es string en formato YYYYMMDD:
-- WHERE CONVERT(datetime, CDHDR.UDATE, 112) >= DATEADD(YEAR, -2, GETDATE())
Instalación de Controlador ODBC (Sólo Servidor mindzieStudio)
Nota: Esta sección es sólo necesaria para el servidor que ejecuta mindzieStudio.
Descargar
Visite: https://tools.hana.ondemand.com/#hanatools
- Cree una cuenta SAP gratis si es necesario (registro rápido)
- Busque: SAP HANA Client
- Descargue la versión: Windows on x64 64bit
- Nombre de archivo:
hanaclient-x.x.x.x-windows-x64.zip
Instalar
- Extraiga el archivo ZIP
- Ejecute
hdbsetup.execomo Administrador - Seleccione "Install new SAP HANA client"
- Siga el asistente (acepte opciones predeterminadas)
- ¡Listo!
Verificar Instalación
Ejecute en PowerShell:
Get-OdbcDriver | Where-Object {$_.Name -like "*HDB*"}
Debería mostrar: HDBODBC [64-bit]
Controlador No Listado Después de la Instalación
cd "C:\Program Files\SAP\hdbclient"
hdbodbc_cons.exe -i
Resolución de Problemas
Problemas Comunes de Conexión
Error "Cannot connect to server"
- Verifique el nombre de host y número de puerto del servidor
- Compruebe la conectividad de red y reglas de firewall
- Asegúrese de que la instancia SAP HANA esté en ejecución y acepte conexiones
- Valide el estado del servicio HANA con
HDB info
Error "Authentication failed"
- Verifique que el usuario y contraseña sean correctos
- Revise si la cuenta de usuario está bloqueada o expirada
- Asegúrese de que el usuario tenga privilegio CONNECT
- Verifique el cumplimiento de la política de contraseñas
Error "Driver not found"
- Instale el controlador SAP HANA ODBC desde SAP HANA Client
- Verifique el registro del controlador en el Administrador de Orígenes de Datos ODBC
- Revise compatibilidad de controlador 32-bit vs 64-bit
- Asegúrese que la ruta del controlador está en la variable PATH del sistema
Error "Table or view does not exist"
- Verifique los nombres de tablas/vistas y esquemas referenciados
- Revise permisos del usuario sobre objetos específicos
- Use nombres completamente calificados:
SCHEMA.TABLE - Valide la sensibilidad a mayúsculas y minúsculas en nombres de objetos
Información Relacionada
- Documentación SAP HANA: Portal de Ayuda SAP
- Cliente SAP HANA: Descargas de Software SAP
- Referencia Controlador ODBC: Guía del Controlador SAP HANA ODBC
- Seguridad de Conexión: Guía de Seguridad SAP HANA
- Optimización de Rendimiento: Guía de Rendimiento SAP HANA
Fuentes y Referencias
Esta documentación se basa en las siguientes fuentes:
Documentación Oficial SAP
- Documentación de la Plataforma SAP HANA - Documentación oficial de la plataforma SAP HANA
- Propiedades de Conexión ODBC SAP HANA - Parámetros oficiales de conexión ODBC
- Servicios y Puertos SAP HANA (Nota SAP 2477204) - Documentación oficial de puertos (requiere acceso a soporte SAP)
Recursos Comunitarios y Técnicos
- Comunidad Qlik - Cadena de Conexión SAP HANA ODBC - Validación comunitaria del formato de cadena de conexión
- Documentación Microsoft Power Query SAP HANA - Documentación del conector SAP HANA de Microsoft