Connexion à une base Ingres avec PHP

Dernière mise à jour le 9 mai 2007 à 13:16 par jpzuate
Publié par jpzuate
Cette astuce est tirée des documentations Ingres suivantes :
- Ingres® 2006 Release 2 for Windows Quick Start Guide (qs_windows.pdf)
- Ingres® 2006 Release 2 for Linux Quick Start Guide (qs_linux.pdf)
(Voir l'artile sur la dans cette même rubrique)


Téléchargez PECL


- Windows (driver) http://pecl4win.php.net/ext.php/php_ingres.dll
- Linux & Unix (code source) http://pecl.php.net/package/ingres

Installation


Windows
1 - Copiez le fichier php_ingres.dll dans le répertoire des extentions PHP
2 - Editez votre fichier php.ini et ajoutez la ligne suivante :
extension=php_ingres.dll

Linux & Unix
1 - Repérez le répertoire où se situe la commande phpize ou php-config
Sur certaines distributions de Linux il est nécessaire de renommer ces fichiers pour éviter des conflits.
Pour compiler la bibliothèque PECL Ingres vous avez besoin d'un compilateur.
2 - Assurez vous que la variable II_SYSTEM est bien valorisée
echo $II_SYSTEM

3 - Déplacez vous dans le répertoire contenant le code source de l'extention
4 - Générez la configuration pour l'extention
phpize

5 - Générez le Makefile
./configure --with-ingres

6 - Compilez l'extention
make

7 - Installez l'extention
make install

8 - Editez le fichier php.ini et ajoutez la ligne extension=ingres.so
9 - Si vous utilisez Apache, utilisez la directive User du httpd.conf
pour vous assurer que Apache tourne bien avec un utilisateur Ingres valide

Apache pour Linux & Unix
1 - Dans la configuration Apache, ajoutez les lignes suivantes
(ou vérifiez qu'elles ne sont pas commentées) :
LoadModule env_module modules/mod_env.so
SetEnv II_SYSTEM votre-répertoire-II_SYSTEM
SetEnv LD_LIBRARY_PATH votre-répertoire-II_SYSTEM/ingres/lib

2 - Redémarrez Apache

Exemple de code ...


A noter : dans les exemples ci-dessous il est possible de spécifier un noeud ou vnode

Connexion
<?php
$link = ingres_connect(“mydb”, “username”, “password”);
or die(“Could not connect”);
echo “Connected successfully”;
ingres_close($link);
?>


Test des erreurs
<?php
$link = ingres_connect(“mydb”, “username”, “password”);
if (ingres_errno($link) != 0) {
echo ingres_errno($link) . “ : “ . ingres_error($link) . “<BR/>\n”;
}
?>


Requête simple
<?php
$link = ingres_connect(“mydb”, “username”, “password”);
// Gives a list of the tables
$sql = “select * from iirelation order by relid asc”;
$rc = ingres_query($sql,$link);
// Do some error checking...
while ( $iirelation = ingres_fetch_object($link) ) {
echo $iirelation->relid “<BR/>\n”;
}
?>


Requête avec paramètres
<?php
$link = ingres_connect(“iidbdb”, “ingres”, “ingres”);
// Gives a list of the tables based on a parameter
$sql = “select * from iirelation where relowner = ? order by relid asc”;
$params[“owner1”] = (“usrname”);
$rc = ingres_query($sql,$link,$params);
// Do some error checking...
while ( $iirelation=ingres_fetch_object($link) ) {
echo $iirelation->relid “<BR/>\n”;
}
?>


Chargement d'un BLOB
<?php
// Fetch the image to be inserted
$handle = fopen (“usrname.png”,”r”);
$login_image = stream_get_contents($handle);
fclose($handle);
// Set up the query
$sql = “insert into login_images values (?,?)”;
// Type the parameters being passed
$types = “vB”; // varchar, BLOB
// Set up the parameter values
$params[“login”] = “usrname”;
$params[“image”] = $login_image;
// Execute
$rc = ingres_query($sql,$link,$params,$types);
?>
Meilleures réponses pour « Connexion à une base Ingres avec PHP » dans :
Connexion à une base Oracle en php Voir1. Périmètre Cet article est un exemple de connexion à une base Oracle par le biais d'un script php. Cet article ne traite pas la configuration de votre serveur Oracle, et de votre client Oracle. Nous partons du principe que vous pouvez accéder à...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
Se connecter à Ingres : le noeud VoirUne notion important dans Ingres : le noeud ou vnode. C'est là aussi que le module Ingres/Net se met en oeuvre. Le noeud vous permet d'indiquer à Ingres les caractéristiques nécessaires à la connexion à une autre installation...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
Connexion à la base de données avec JDBC VoirConnexion à la base de données L'API (Application Programming Interface) JDBC, c'est-à-dire la bibliothèque de classes JDBC, se charge de trois étapes indispensables à la connexion à une base de données : la création d'une connexion à la...
PHP - Connexion à un annuaire LDAP VoirIntroduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Un serveur LDAP est conçu pour être capable de gérer les opérations...