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.
- --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.
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 |
Para mais detalhes e definições das constantes PHP_INI_*, veja Diretivas do arquivo php.ini.Nota: Entradas marcadas com * ainda não estão implementadas.
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 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
- odbc_autocommit — Modifica o funcionamento do autocommit
- odbc_binmode — Manipulação de uma coluna com dados binários
- odbc_close_all — Fecha todas as conexões ODBC
- odbc_close — Fecha uma conexão ODBC
- odbc_columnprivileges — Retorna um identificador de resultado que pode ser usado para obter uma lista das colunas e seus privilégios associados
- odbc_columns — Lista os nomes das colunas na tabela especificada
- odbc_commit — Grava uma transação ODBC
- odbc_connect — Conecta com uma fonte de dados
- odbc_cursor — Obtém cursorname
- odbc_data_source — Retorna informação sobre a conexão atual
- odbc_do — Sinonimo para odbc_exec
- odbc_error — Obtém o último código de erro
- odbc_errormsg — Obtém a última mensagem de erro
- odbc_exec — Prepara e executa um comando SQL
- odbc_execute — Executa um comando preparado
- odbc_fetch_array — Obtém uma linha do resultado como uma array associativa
- odbc_fetch_into — Obtém uma linha do conjunto de resultados como uma matriz
- odbc_fetch_object — Obtém um conjunto de resultados como um objeto
- odbc_fetch_row — Obtém uma linha
- odbc_field_len — Obtém o tamanho (precisão) de um campo
- odbc_field_name — Obtém o nome da coluna
- odbc_field_num — Retorna o número da coluna
- odbc_field_precision — Sinonimo para odbc_field_len
- odbc_field_scale — Obtém a precisão de um campo
- odbc_field_type — Tipo de dados de um campo
- odbc_foreignkeys — Retorna uma lista de chaves estrangeiras na tabela especificada ou uma lista de chaves estrangeiras em outras tabelas que se referem a chave primária na tabela especificada
- odbc_free_result — Libera os recursos associados a um resultado
- odbc_gettypeinfo — Retorna um identificador de resultados contendo informações sobre os tipos de dados suportados pela fonte de dados.
- odbc_longreadlen — Manipulação de colunas LONG
- odbc_next_result — Confere se resultados múltiplos estão disponíveis
- odbc_num_fields — Número de colunas em um resultado
- odbc_num_rows — Número de linhas em um resultado
- odbc_pconnect — Abre uma conexão persistente com o servidor de banco de dados
- odbc_prepare — Prepara um comando para execução
- odbc_primarykeys — Retorna um identificador de resultados que pode ser usado para obter os nomes de colunas que inclui a chave primária para a tabela
- odbc_procedurecolumns — Obtém informações sobre parâmetros para procedures
- odbc_procedures — Obtém a lista de procedures guadadas na fonte de dados especificada.
- odbc_result_all — Mostra o resultado como uma tabela HTML
- odbc_result — Obtém dados do resultado
- odbc_rollback — Desfaz uma transação
- odbc_setoption — Ajusta definições ODBC
- odbc_specialcolumns — Retorna um conjunto de colunas que identificam de modo único uma linha na tabela ou as colunas que são automaticamente atualizadas quando qualquer valor na linha é atualizado por uma transação.
- odbc_statistics — Obtém estatisticas sobre uma tabela
- odbc_tableprivileges — Lista tabelas e os privilégios associados a cada tabela
- odbc_tables — Obtém uma lista dos nomes das tabelas guardadas em uma fonte de dados especificado