Connessione a un database IBM Data Server con PHP (PDO)

Prima di poter eseguire istruzioni SQL per creare, aggiornare, cancellare o recuperare dati, è necessario connettersi a un database. È possibile utilizzare l'interfaccia PHP Data Objects (PDO) per PHP per connettersi a un database IBM Data Server attraverso una connessione catalogata o una connessione TCP/IP diretta. Per migliorare le prestazioni, si può anche creare una connessione persistente.

Informazioni preliminari

È necessario impostare l'ambiente PHP 5.1 (o successivo) sul sistema e abilitare le estensioni PDO e PDO_IBM.

Informazioni su questa attività

Questa procedura restituisce un oggetto di connessione a un database IBM Data Server. Questa connessione rimane aperta finché non si imposta l'oggetto PDO su NULL o finché lo script PHP non termina.

Procedura

Per collegarsi a un database IBM Data Server:

  1. Creare una connessione al database richiamando il costruttore PDO all'interno di un blocco try{}. Passare un valore DSN che specifichi ibm: per l'estensione PDO_IBM, seguito da un nome di database catalogato o da una stringa di connessione completa al database per una connessione TCP/IP diretta.
    • (Windows): Per impostazione predefinita, l'estensione PDO_IBM utilizza il pooling delle connessioni per ridurre al minimo le risorse di connessione e migliorare le prestazioni.
    • Linux® e UNIX): Per creare una connessione persistente, passare array(PDO::ATTR_PERSISTENT => TRUE) come argomento driver_options (quarto) al costruttore PDO.
  2. Opzionale: Impostare le opzioni di gestione degli errori per la connessione PDO nel quarto parametro del costruttore PDO:
    • Per impostazione predefinita, PDO imposta un messaggio di errore che può essere recuperato attraverso PDO::errorInfo() e un SQLCODE che può essere recuperato attraverso PDO::errorCode() quando si verifica un qualsiasi errore; per richiedere esplicitamente questa modalità, impostare PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT
    • Per emettere un messaggio PHP E_WARNING quando si verifica un errore, oltre a impostare il messaggio di errore e l'SQLCODE, si deve impostare PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING
    • Per lanciare un'eccezione PHP quando si verifica un errore, impostare PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
  3. Cattura qualsiasi eccezione lanciata dal blocco try{} in un blocco corrispondente catch {}.

    Per ulteriori informazioni sull'API PDO, vedere http://php.net/manual/en/book.pdo.php

Esempio

Collegarsi a un database IBM Data Server tramite una connessione persistente.

try { 
  $connection = new PDO("ibm:SAMPLE", "db2inst1", "ibmdb2", array(
    PDO::ATTR_PERSISTENT => TRUE, 
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
  ); 
}
catch (Exception $e) {
  echo($e->getMessage());
}

Operazioni successive

Successivamente, si preparano ed eseguono le istruzioni SQL.