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:
- 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.
- 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
- Cattura qualsiasi eccezione lanciata dal blocco
try{} in un blocco corrispondente catch {}.
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.