Conexión a SAP HANA con PHP 7

Bueno después de casi una semana leyendo y probando mil formas para poder hacer una consulta en SAP HANA pude lograrlo y aquí les paso los pasos.
1- Instalar XAMPP 7.1.2 o superior.
2- Editar el PHP.ini y agregar una línea en la sección de extenciones:
extension=php_odbc
No se porque razón no viene habilitado, aunque la documentación oficial de XAMPP dice que no hay que hacerlo porque vienen por defecto ya habilitado.
3- Instalar el Driver HDBODBC en mi caso de 32bits… Por lo general se instala con el HANA Studio, debe quedar así:
image
4- Luego crear un DSN de Sistema donde se use dicho driver y se creen las configuraciones de tu Servidor HANA

  • Abrir el Administrador de Origenes de Datos ODBC - DSN del Sistema - Agregar
    image
    Escogemos el driver HDBODBC32 y damos FINALIZAR
    Y completamos los datos de nuestro servidor HANA
    image
    Data Source Name: SERVER
    Description: My Server
    Server:Port: ip.del.servidor:30015
    Si todo fue existoso, podemos usar la opción CONEXION para probar la misma. Donde ahi pondremos ip.del.servidor:30015; Usuario (SYSTEM) y Passwrod (contraseña de SYSTEM)
    5- Después ya en el PHP podemos hacer algo así:
<?php
......
if (! extension_loaded('pdo_odbc'))
{
    die('ODBC extension not enabled / loaded');
}
.....
$sql = "SENTENCIA SQL"; 
//En tu sentencia debes poner así FROM "BASE_DATOS"."ORCT"
$username = "SYSTEM";
$password = "passwd_de_tu_user";
$dsn = "odbc:SERVER"; //Este sería el ODBC que creamos
$queryString = $sql;
try {
    // Connect to the data source
    $dbh = new PDO($dsn, $username, $password);
    $stmt = $dbh->prepare($queryString);
    $stmt -> execute();
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
  catch (Exception $e) {
    echo $e->getMessage();
}
.........
Ya con esto podemos hacer uso de un foreach o while, para mostrar los datos.
.........
?>

Espero que con esto alguien no pase más trabajos, no sabría como hacer esto un manual para que esté disponible para otros, no solo en el Foro.

Saludos,
David

7 Me gusta

Excelente David.

Pregunto para especificar mejor el tema:

  • Esto aplica a Business One con Hana?
  • Para qué versión?
  • Otros comentarios sobre requerimientos hay?

Si exacto aplica para SAP B1 con HANA. En este caso sería 9.2, pero básicamente podrá servir para cualquier. Es menester saber que esto se hizo todo sobre un Windows 10 Pro 64bits. Como dije más adelante probaré hacer en Linux directamente.

1 me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.