db2_connect

(PECL)

db2_connect --  Retourne une connexion à une base de données

Description

resource db2_connect ( string database, string username, string password [, array options] )

Crée une nouvelle connexion à une base de données IBM DB2 Universal Database, IBM Cloudscape ou Apache Derby.

Liste de paramètres

database

Pour une connexion cataloguée de la base de données, database représente l'alias de la base de données dans le catalogue client DB2

Pour une connexion non cataloguée de la base de données, database représente une chaîne complète de connexion qui est dans le format suivant : DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password; où les paramètres représentent les valeurs suivantes :

database

Le nom de la base de données.

hostname

L'adresse Internet ou IP du serveur de base de données.

port

Le port TCP/IP sur lequel la base de données écoute les connexions.

username

Le nom d'utilisateur avec lequel vous vous connectez à la base de données.

password

Le mot de passe avec lequel vous vous connectez à la base de données.

username

Le nom d'utilisateur avec lequel vous vous connectez à la base de données.

Pour les connexions non cataloguées, vous devez passer une valeur NULL ou une chaîne vide.

password

Le mot de passe avec lequel vous vous connectez à la base de données.

Pour les connexions non cataloguées, vous devez passer une valeur NULL ou une chaîne vide.

options

Un tableau associatif des options de connexion qui affecteront le comportement de la connexion, où les valeurs des clés incluent :

autocommit

La valeur DB2_AUTOCOMMIT_ON active l'autocommit sur cette connexion.

La valeur DB2_AUTOCOMMIT_OFF désactive le autocommit pour cette connexion.

DB2_ATTR_CASE

Passer la valeur DB2_CASE_NATURAL spécifie que les noms de colonnes seront retournés dans leurs casses naturelles.

Passer la valeur DB2_CASE_LOWER spécifie que les noms de colonnes seront retournés en minuscule.

Passer la valeur DB2_CASE_UPPER spécifie que les noms de colonnes seront retournés en majuscule.

CURSOR

Passer la valeur DB2_FORWARD_ONLY spécifie un curseur uniquement suivant pour une ressource de requête. C'est le type de curseur par défaut et est supporté sur tous les serveurs de base de données.

Passer la valeur DB2_SCROLLABLE spécifie un curseur scrollable pour une ressource de requête. Ce mode permet un accès aléatoire aux lignes dans un jeu de résultats, mais actuellement, n'est supporté que par la base de données IBM DB2 Universal.

Valeurs de retour

Retourne la ressource de connexion si la tentative de connexion réussie. Si la tentative de connexion échoue, db2_connect() retourne FALSE.

Exemples

Exemple 1. Création d'une connexion cataloguée

Les connexions cataloguées nécessitent que vous ayez préalablement catalogué la base de données spécifiée à l'aide du processeur de ligne de commandes DB2 ("Command Line Processor" : CLP) ou avec l'assistant de configuration de DB2.

<?php
$database
= 'EXEMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$conn = db2_connect($database, $user, $password);

if (
$conn) {
    echo
"Connexion réussie.";
    
db2_close($conn);
}
else {
    echo
"Connexion échouée.";
}
?>

L'exemple ci-dessus va afficher :

Connexion réussie.

Exemple 2. Création d'une connexion non cataloguée

Une connexion non cataloguées vous permet de vous connecter dynamiquement à une base de données.

<?php
$database
= 'EXEMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$hostname = 'localhost';
$port = 50000;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
  
"HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string, '', '');

if (
$conn) {
    echo
"Connexion réussie.";
    
db2_close($conn);
}
else {
    echo
"Connexion échouée.";
}
?>

L'exemple ci-dessus va afficher :

Connexion réussie.

Exemple 3. Création d'une connexion avec autocommit désactivé par défaut

Le fait de passer un tableau d'option à db2_connect() vous permet de modifier le comportement par défaut de la connexion.

<?php
$database
= 'EXEMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);

$conn = db2_connect($database, $user, $password, $options);

if (
$conn) {
    echo
"Connexion réussie.\n";
    if (
db2_autocommit($conn)) {
         echo
"Autocommit est activé.\n";
    }
    else {
         echo
"Autocommit est désactivé.\n";
    }
    
db2_close($conn);
}
else {
    echo
"Connexion échouée.";
}
?>

L'exemple ci-dessus va afficher :

Connexion réussie.
Autocommit est désactivé.

Voir aussi

db2_close()
db2_pconnect()