Connexion à une base de données Actian Ingres à partir de PHP via JDBC
Nous avons documenté la meilleure façon de se connecter depuis PHP à une base de données Ingres via ODBC dans un article de la base de connaissances d'Actian intitulé Ingres ODBC with PHP et dans un article précédent, Connecting to Actian Ingres with PHP and NGINX. Parfois, cependant, en raison de limitations, les utilisateurs peuvent avoir besoin d'utiliser JDBC au lieu d'ODBC pour se connecter. Ce billet montre comment cela peut être fait, bien qu'il n'existe pas de support natif pour se connecter à travers JDBC en utilisant PHP.
Dans cette situation, un pont PHP-JDBC est nécessaire. Pour cet exemple, nous utilisons le pont disponible à PHP-JDBC Bridge.
Valider la connectivité JDBC
Cela suppose qu'une connexion JDBC puisse être établie. Si vous pouvez exécuter des requêtes à partir d'un petit programme Java de test utilisant JDBC, vous pouvez passer à l'étape suivante.
Configuration et démarrage du service Bridge
Consultez la documentation de PHP_JDBC (disponible sur PHP-JDBC Bridge) pour savoir comment installer les outils nécessaires et lancer le service. Un exemple de fonctionnement est le suivant :
java -cp « lib/pjbridge.jar:lib/commons-daemon-1.1.0.jar:$II_SYSTEM/ingres/lib/:$II_SYSTEM/ingres/lib/iijdbc.jar »
Serveur com.ingres.jdbc.IngresDriver 4444 &
Exemple de code PHP
Voici un exemple de code PHP permettant de se connecter à la base de données Ingres :
<?php
require "PJBridge.php";
$dbHost = "localhost";
$dbName = "testdb";
$dbPort = "II7";
$dbUser = "test_user";
$dbPass = "test_password";
$connStr = "jdbc:ingres://${dbHost}:${dbPort}/${dbName}";
$db = new PJBridge();
$result = $db->connect($connStr, $dbUser, $dbPass);
if(!$result){
die("Failed to connect");
}
$cursor = $db->exec("SELECT * FROM test_table");
while($row = $db->fetch_array($cursor)){
print_r($row);
}
$db->free_result($cursor);
Pour plus d'informations ou pour organiser une démonstration, veuillez contacter les services professionnels à l'adresse services@actian.com. Vous pouvez en savoir plus sur Actian Ingres ici et visiter les forums de la communauté Ingres ici.