LXXV. Funzioni ODBC Unificate

Introduzione

In aggiunta al normale supporto ODBC, le funzioni ODBC unificate del PHP consentono l'accesso a diversi database che hanno preso in prestito la semantica dell'API ODBC per implementare le loro API. Invece di mantenere pi driver per database che sono tutti pressoch identici, questi driver sono stati riuniti in un singolo insieme di funzioni ODBC.

Le funzioni ODBC unificate supportano i seguenti database: Adabas D, IBM DB2, iODBC, Solid ed Sybase SQL Anywhere.

Nota: Nella connessione ai database sopra elencati non vengono coinvolte funzioni ODBC. Le funzioni che vengono utilizzate per collegarsi nativamente con essi condividono solamente lo stesso nome e sintassi delle funzioni ODBC. L'eccezione a questo iODBC. Compilando il PHP con il supporto di iODBC, si pu utilizzare qualsiasi driver compatibile ODBC nelle applicazioni PHP. iODBC gestito da OpenLink Software. Maggiori informazioni su iODBC, ed un HOWTO sono diponibili nel sito www.iodbc.org.

Requisiti

Per potere accedere ai database supportati occorre avere installato le librerie necessarie.

Installazione

--with-adabas[=DIR]

Include il supporto per Adabas D. DIR indica la directory di installazione di Adabas, il default /usr/local.

--with-sapdb[=DIR]

Include il supporto per SAP DB. DIR indica la directory di installazione di SAP DB, il default /usr/local.

--with-solid[=DIR]

Include il supporto per Solid. DIR indica la directory di installazione di Solid, il default /usr/local/solid.

--with-ibm-db2[=DIR]

Include il supporto per IBM DB2. DIR indica la directory di installazione di DB2, il default /home/db2inst1/sqllib.

--with-empress[=DIR]

Include il supporto per Empress. DIR indica la directory di installazione di Empress, il default $EMPRESSPATH. A partire da PHP 4, questa opzione supporta solo Empress Versione 8.60 e successive.

--with-empress-bcs[=DIR]

Include il supporto per Empress Local Access. DIR indica la directory di installazione di Empress, il default $EMPRESSPATH. A partire da PHP 4, questa opzione supporta solo Empress Versione 8.60 e successive.

--with-birdstep[=DIR]

Include il supporto per Birdstep. DIR indica la directory di installazione di Birdstep, il default /usr/local/birdstep.

--with-custom-odbc[=DIR]

Include il supporto definito dall'utente per ODBC. DIR indica la directory di installazione di ODBC, il default /usr/local. Accertarsi di definire CUSTOM_ODBC_LIBS e di avere odbc.h nelle directory di include. Ad esempio, si devorebbe definire i seguenti parametri per Sybase SQL Anywhere 5.5.00 su QNX, prima di eseguire lo script di configurazione: CPPFLAGS="-DODBC_QNX -DSQLANY_BUG" LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DIR]

Include il supporto per iODBC. DIR indica la directory di installazione di iODBC, il default /usr/local.

--with-esoob[=DIR]

Include il supporto per Easysoft OOB. DIR indica la directory di installazione di OOB, il default /usr/local/easysoft/oob/client.

--with-unixODBC[=DIR]

Include il supporto per unixODBC. DIR indica la directory di installazione di unixODBC, il default /usr/local.

--with-openlink[=DIR]

Include il supporto per OpenLink ODBC. DIR indica la directory di installazione di OpenLink, il default /usr/local. This is the same as iODBC.

--with-dbmaker[=DIR]

Include il supporto per DBMaker. DIR indica la directory di installazione di DBMaker, per default si ha la directory in cui installata l'ultima versione di DBMaker (tipo /home/dbmaker/3.6).

Per disabilitare il supporto alle funzioni ODBC unificate in PHP 3 aggiungere il parametro --disable-unified-odbc nella linea di configurazione. Ci applicabile soltanto se abilitata una delle seguenti interfaccie: iODBC, Adabas, Solid, Velocis oppure una versione personalizzata di ODBC.

La versione per Windows di PHP ha gi compilato il supporto per questo modulo. Non occorre caricare alcun modulo addizionale per potere utilizzare queste funzioni.

Configurazione di Runtime

Il comportamento di queste funzioni influenzato dalle impostazioni di php.ini.

Tabella 1. Parametrizzazione per il modulo Funzioni ODBC Unificate

NomeDefaultModificabile
odbc.default_db *NULLPHP_INI_ALL
odbc.default_user *NULLPHP_INI_ALL
odbc.default_pw *NULLPHP_INI_ALL
odbc.allow_persistent"1"PHP_INI_SYSTEM
odbc.check_persistent"1"PHP_INI_SYSTEM
odbc.max_persistent"-1"PHP_INI_SYSTEM
odbc.max_links"-1"PHP_INI_SYSTEM
odbc.defaultlrl"4096"PHP_INI_ALL
odbc.defaultbinmode"1"PHP_INI_ALL

Nota: I parametri segnati con * non sono ancora implementati.

Per maggiori dettagli sulle costanti PHP_INI_* vedere ini_set().

Breve descrizione dei parametri di configurazione.

odbc.default_db string

Sorgenti di dati ODBC da utilizzare se non viene fornita in odbc_connect() o odbc_pconnect().

odbc.default_user string

Nome utente da usare se non viene passato nelle funzioni odbc_connect() o odbc_pconnect().

odbc.default_pw string

Password da usare se non viene passato nelle funzioni odbc_connect() o odbc_pconnect().

odbc.allow_persistent boolean

Indica se permettere le connessioni ODBC persistenti.

odbc.check_persistent boolean

Verifica se una connessione ancora valida prima di ri-utilizzarla.

odbc.max_persistent integer

Imposta il numero massimo di connessioni persistenti permesse per processo.

odbc.max_links integer

Imposta il numero massimo di connessioni permesse per processo, comprese le connessioni persistenti.

odbc.defaultlrl integer

Gestisce i campi di tipo LONG. Specifica il numero di byte da ritornare alla variabile.

odbc.defaultbinmode integer

Gestione dei dati binari.

Tipi di risorse

Questa estensione non definisce alcun tipo di risorsa.

Costanti predefinite

Queste costanti sono definite da questa estensione e sono disponibili solo se l'estensione stata compilata nel PHP o se stata caricata dinamicamente a runtime.

ODBC_TYPE (integer)

ODBC_BINMODE_PASSTHRU (integer)

ODBC_BINMODE_RETURN (integer)

ODBC_BINMODE_CONVERT (integer)

SQL_ODBC_CURSORS (integer)

SQL_CUR_USE_DRIVER (integer)

SQL_CUR_USE_IF_NEEDED (integer)

SQL_CUR_USE_ODBC (integer)

SQL_CONCURRENCY (integer)

SQL_CONCUR_READ_ONLY (integer)

SQL_CONCUR_LOCK (integer)

SQL_CONCUR_ROWVER (integer)

SQL_CONCUR_VALUES (integer)

SQL_CURSOR_TYPE (integer)

SQL_CURSOR_FORWARD_ONLY (integer)

SQL_CURSOR_KEYSET_DRIVEN (integer)

SQL_CURSOR_DYNAMIC (integer)

SQL_CURSOR_STATIC (integer)

SQL_KEYSET_SIZE (integer)

SQL_CHAR (integer)

SQL_VARCHAR (integer)

SQL_LONGVARCHAR (integer)

SQL_DECIMAL (integer)

SQL_NUMERIC (integer)

SQL_BIT (integer)

SQL_TINYINT (integer)

SQL_SMALLINT (integer)

SQL_INTEGER (integer)

SQL_BIGINT (integer)

SQL_REAL (integer)

SQL_FLOAT (integer)

SQL_DOUBLE (integer)

SQL_BINARY (integer)

SQL_VARBINARY (integer)

SQL_LONGVARBINARY (integer)

SQL_DATE (integer)

SQL_TIME (integer)

SQL_TIMESTAMP (integer)

SQL_TYPE_DATE (integer)

SQL_TYPE_TIME (integer)

SQL_TYPE_TIMESTAMP (integer)

SQL_BEST_ROWID (integer)

SQL_ROWVER (integer)

SQL_SCOPE_CURROW (integer)

SQL_SCOPE_TRANSACTION (integer)

SQL_SCOPE_SESSION (integer)

SQL_NO_NULLS (integer)

SQL_NULLABLE (integer)

SQL_INDEX_UNIQUE (integer)

SQL_INDEX_ALL (integer)

SQL_ENSURE (integer)

SQL_QUICK (integer)

Sommario
odbc_autocommit -- Valorizza il parametro autocommit
odbc_binmode -- Gestione delle colonne di dati binari
odbc_close_all -- Chiude tutte le connessioni ODBC
odbc_close -- Chiude una connessione ODBC
odbc_columnprivileges --  Restituisce un identificatore di risultato che permette di ricavare l'elenco delle colonne e dei privilegi ad esse associati.
odbc_columns --  Elenca i nomi delle colonne nella tabella specificata. La funzione ritorna un identificatore di risultato contenenti le informazioni.
odbc_commit -- Esegue una transazione ODBC
odbc_connect -- Apre una connessione con una fonte di dati
odbc_cursor -- Restituisce il nome del cursore
odbc_data_source -- Restituisce informazionisulla connessione corrente
odbc_do -- Sinonimo di odbc_exec()
odbc_error -- Restituisce l'ultimo codice di errore
odbc_errormsg -- Restituisce l'ultimo messaggio d'errore
odbc_exec -- Prepara ed esegue una espressione SQL
odbc_execute -- Esecuzione di un'espressione memorizzata
odbc_fetch_array --  Restituisce una riga in un array associativo
odbc_fetch_into -- Scarica una riga del risultato della query in un array
odbc_fetch_object --  Restituisce una riga di risultato come un oggetto
odbc_fetch_row -- Estrae una riga
odbc_field_len -- Restituisce la dimensione (precisione) di un campo
odbc_field_name -- Restituisce il nome della colonna
odbc_field_num -- Restituisce il numero di colonna
odbc_field_precision -- Sinonimo di odbc_field_len()
odbc_field_scale -- Restituisce la scala di un campo
odbc_field_type -- Tipo di dato di campo
odbc_foreignkeys --  Restituisce l'elenco delle chiavi esterne per la tabella indicata, oppure la lista delle chiavi esterne in altre tabelle che fanno riferimento alla chiave primaria della tabella indicata.
odbc_free_result -- Libera le risorse associate ad un risultato
odbc_gettypeinfo --  Restituisce un identificatore di risultato contenente informazioni sui tipi di dati supportati dalla sorgente di dati.
odbc_longreadlen -- Gestione di colonne LONG
odbc_next_result --  Verifica se sono disponibili pi risultati
odbc_num_fields -- Numero di colonne in un esito
odbc_num_rows -- Numero di righe in un risultato
odbc_pconnect -- Apre una connessione persistente verso un database
odbc_prepare -- Predispone un'espressione all'esecuzione
odbc_primarykeys --  Restituisce un identificatore di risultato che pu essere utilizzato per ricavare il nome della colonna che contiene la chiave primaria della tabella.
odbc_procedurecolumns --  Recupera informazioni sui parametri delle procedure.
odbc_procedures --  Restituisce l'elenco delle procedure memorizzate in una specifica sorgente di dati. La funzione ritorna un identificatore di risultato che punta alle informazioni reperite.
odbc_result_all -- Visualizza il risultato in una tabella HTML
odbc_result -- Restituisce il contenuto dei campi
odbc_rollback -- Annulla una transazione
odbc_setoption --  Settaggio dei parametri ODBC. Restituisce FALSE se si verifica un errore, altrimenti TRUE.
odbc_specialcolumns --  Restituisce sia il set di colonne che identificano in modo univoco una riga nella tabella, sia colonne che sono automaticamente aggiornate quando un qualsiasi campo della riga viene aggiornato da una transazione.
odbc_statistics -- Recupera informazioni statistiche sulla tabella
odbc_tableprivileges --  Elenca le tabelle ed i privilegi ad esse associati.
odbc_tables --  Restituisce l'elenco delle tabelle presenti in una specifica sorgente di dati. Restituisce l'identificatore di risultato in cui vi sono le informazioni.