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í:
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
Escogemos el driver HDBODBC32 y damos FINALIZAR
Y completamos los datos de nuestro servidor HANA
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