PHP 8.4.1 Released!

odbc_setoption

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_setoptionAjusta configurações do ODBC

Descrição

odbc_setoption(
    resource $odbc,
    int $which,
    int $option,
    int $value
): bool

Esta função permite manipular as opções ODBC para uma determinada conexão ou resultado de consulta. Ela foi escrita para ajudar a encontrar soluções para problemas em drivers ODBC peculiares. Esta função deve ser usada por um programador ODBC que compreenda os efeitos que as diversas opções terão. Será necessária uma boa referência ODBC para explicar todas as diferentes opções e valores que podem ser usados. Diferentes versões de driver oferecem suporte a diferentes opções.

Como os efeitos podem variar dependendo do driver ODBC, o uso desta função em scripts a serem disponibilizados publicamente é fortemente desencorajado. Além disso, algumas opções de ODBC não estão disponíveis para esta função porque devem ser definidas antes de a conexão ser estabelecida ou a consulta ser preparada. No entanto, se em um determinado trabalho ela puder fazer o PHP funcionar de forma seja evitada uma pressão para que seja usado um produto comercial, isso é tudo que realmente importa.

Parâmetros

odbc

É um ID de conexão ou ID de resultado no qual as configurações serão alteradas. Para SQLSetConnectOption(), este é um ID de conexão. Para SQLSetStmtOption(), este é um ID de resultado.

which

É a função ODBC a ser usada. O valor deve ser 1 para SQLSetConnectOption() e 2 para SQLSetStmtOption().

option

A opção a ser definida.

value

O valor para a opção informada em option.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplos de odbc_setoption()

<?php
// 1. Opção 102 de SQLSetConnectOption() é SQL_AUTOCOMMIT.
// Valor 1 de SQL_AUTOCOMMIT é SQL_AUTOCOMMIT_ON.
// Este exemplo tem o mesmo efeito de
// odbc_autocommit($conn, true);

odbc_setoption($conn, 1, 102, 1);

// 2. Opção 0 de SQLSetStmtOption() é SQL_QUERY_TIMEOUT.
// Este exemplo define que a consulta expira após 30 segundos.

$result = odbc_prepare($conn, $sql);
odbc_setoption($result, 2, 0, 30);
odbc_execute($result);
?>

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
-1
egil at wp dot pl
15 years ago
Some options for Microsoft SQL Server ODBC:
1 - (SQL_MAX_ROWS) show top x rows
6 - (SQL_CURSOR_TYPE) zmiana kursora - ma działać dopiero w PHP 5.3

You can "translate" constant names (found on e.g. Microsoft website) to appropriate values using this page:
http://www.freepascal.org/docs-html/packages/odbcsql/index-2.html

BTW. If anyone is banging his head about "cursor type changed" warning while using execute with ORDER BY clause, then just use exec for now (remember to addslashes for yourself). In PHP 5.3 a Bug #43668 will be fixed and it will allow you to change a cursor type to SQL_CUR_USE_ODBC.

Note that you could also try to select a cursor type in odbc_connect, but that didn't work for me (much more problems appeared then it solved).
To Top