Manual do PHP
Anterior |  | Próxima

# CXXVII. ODBC Unificado

# Introdução

Em adição ao suporte ODBC normal, as funções de ODBC unificado no PHP permitem a você acessar vários banco de dados que pegaram emprestada a semantica da API ODBC para implementar a sua própria API. Ao invés de manter múltiplos drivers de banco de dados que são praticamente iguais, estes drivers foram unificados em um único conjunto de funções ODBC.

Os seguintes banco de dados são suportados pelas funções de ODBC unificado: Adabas D, IBM DB2, iODBC, Solid, e Sybase SQL Anywhere.

> Nota: Não há ODBC envolvido ao conectar aos banco de dados acima. As funções que você usa para conversar nativamente com eles apenas usam o mesmo nome e sintaxe das funções ODBC. A excessão a isto é iODBC. Fazendo o PHP com suporte a iODBC permite a você utilizar qualquer driver ODBC-compliant com as suas aplicações PHP. iODBC é mantido por OpenLink Software. Maiores informações sobre iODBC, assim como um HOWTO, estão disponíveis em www.iodbc.org.

# Dependências

Para acessar qualquer um dos banco de dados suportados você precisa ter as bibliotecas necessárias instaladas.

# Instalação

--with-adabas[=DIR]

  Inclui suporte a Adabas D. DIR é o diretório base da instalação do Adabas, o padrão é `/usr/local`.

--with-sapdb[=DIR]

  Inclui suporte a SAP DB. DIR é o diretório base SAP DB, o padrão é `/usr/local`.

--with-solid[=DIR]

  Inclui o suporte Solid. DIR é o diretório base da instalação Solid, o padrão é `/usr/local/solid`.

--with-ibm-db2[=DIR]

  Inclui suporte ao IBM DB2. DIR é o diretório base da instalaçação do DB2, o padrão é `/home/db2inst1/sqllib`.

--with-empress[=DIR]

  Inclui suporte a Empress. DIR é o diretório base da instalação do Empress, o padrão é $EMPRESSPATH. A partir do PHP4, esta opção suporta apenas o Empress Versão 8.60 e posterior.

--with-empress-bcs[=DIR]

  Inclui suporte a Empress Local Access. DIR é o diretório base da instalação do Empress, o padrão é $EMPRESSPATH. A partir do PHP4, esta opção suporta apenas o Empress Version 8.60 e posterior.

--with-birdstep[=DIR]

  Inclui suporte Birdstep. DIR é o diretório base da instalação do Birdstep, o padrão é `/usr/local/birdstep`.

--with-custom-odbc[=DIR]

  Inclui um suporte ODBC definido pelo usuário. DIR é o diretório base da instalação do ODBC, o padrão é `/usr/local`. Tenha certeza de definir CUSTOM_ODBC_LIBS e ter algum `odbc.h` nos seus diretórios de inclusão. Ex., você deve definir o seguinte para Sybase SQL Anywhere 5.5.00 no QNX, antes de executar o script configure: CPPFLAGS="-DODBC_QNX -DSQLANY_BUG" LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DIR]

  Inclui o suporte a iODBC. DIR é o diretório base da instalação do iODBC, o pardrão é `/usr/local`.

--with-esoob[=DIR]

  Inclui suporte a Easysoft OOB. DIR é o diretório base da instalação OOB, o padrão é `/usr/local/easysoft/oob/client`.

--with-unixODBC[=DIR]

  Inclui suporte a unixODBC. DIR é o diretório base da instalação unixODBC, o padrão é `/usr/local`.

--with-openlink[=DIR]

  Inclui suporte a OpenLink ODBC. DIR é o diretório base da instalação do OpenLink, o padrão é `/usr/local`. Este é o mesmo que iODBC.

--with-dbmaker[=DIR]

  Inclui suporte a DBMaker. DIR é o diretório base da instalação do DBMaker, o padrão é para onde a versão mais recente do DBMaker esteja instalada (algo como `/home/dbmaker/3.6`).

Para desabilitar o suporte a unified ODBC no PHP 3 adicione --disable-unified-odbc na sua linha de configuração. Somente aplicável se iODBC, Adabas, Solid, Velocis ou uma interface ODBC definida pelo usuário esteja definida.

A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.

# Configurações em execução

O comportamento dessas funções podem ser modificado pelas configurações do `php.ini`.

Tabela 1. Opções de Configuração do ODBC Unificado

Nome | Padrão | Modificável
--- | --- | ---
odbc.default_db * | NULL | PHP_INI_ALL
odbc.default_user * | NULL | PHP_INI_ALL
odbc.default_pw * | NULL | PHP_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: Entradas marcadas com * ainda não estão implementadas.

Para maiores detalhes e definições das constantes PHP_INI_* veja ini_set().

Breve descrição das diretivas de configuração.

odbc.default_db string

  Fonte de dados ODBC se nenhuma for especificada em odbc_connect() ou odbc_pconnect().

odbc.default_user string

  Nome de usuário se nenhum for especificado em odbc_connect() ou odbc_pconnect().

odbc.default_pw string

  Senha para usar se nenhuma for especificada em odbc_connect() ou odbc_pconnect().

odbc.allow_persistent boolean

  Quando permitir conexões ODBC persistentes.

odbc.check_persistent boolean

  Conferir que a conexão ainda seja válida antes de reutilizar.

odbc.max_persistent integer

  O número máximo de conexões ODBC persistentes por processo.

odbc.max_links integer

  O número máximo de conexões ODBC por processo, incluindo as conexões persistentes.

odbc.defaultlrl integer

  Manipulação de campos LONG. Especifica o número de bytes retornados para as variáveis.

odbc.defaultbinmode integer

  Manipulação de dados binários.

# Tipos Resource

Esta extensão não possui nenhum tipo resource.

# Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

`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)

Anterior | Principal | Próxima
token_name | Acima | odbc_autocommit