Forum und email

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: Com a exceção do iODBC, não há ODBC envolvido ao conectar aos banco de dados acima. As funções que você usa para conversar nativamente com eles apenas compartilham os mesmos nomes e sintaxe que as funções ODBC. Entretanto, construir o PHP com suporte iODBC permite a você usar qualquer driver ODBC-compliant com as suas aplicações PHP. Mais informaçõs sobre iODBC, esta disponível em » www.iodbc.org com a alternativa unixODBC disponível em » www.unixodbc.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.

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.

Opções de Configuração do ODBC Unificado
Nome Padrão Modificável Changelog
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 mais detalhes e definições das constantes PHP_INI_*, veja Diretivas do arquivo php.ini.

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.

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 define dois tipos de recursos: um identificador de conexão ODBC e um idenficador de resultado ODBC.

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)

Índice