5.5.15

odbc_data_source

(PHP 4 >= 4.3.0, PHP 5)

odbc_data_sourceRetorna informação sobre a conexão atual

Descrição

array odbc_data_source ( resource $connection_id , int $fetch_type )

Esta função retornará a lista de DNS disponíveis (depois de chamando várias vezes).

Parâmetros

connection_id

O identificador de conexão.

fetch_type

O fetch_type pode ser um dos dois tipos de contantes: SQL_FETCH_FIRST, SQL_FETCH_NEXT. Use SQL_FETCH_FIRST na primeira vez que chamar a função, então depois use SQL_FETCH_NEXT.

Valor Retornado

Retorna FALSE em erro, e um array em sucesso.

add a note add a note

User Contributed Notes 2 notes

up
0
critmas at hotmail dot com
9 years ago
Thank you Angelo for point out the code.  Though the function doesn't really do what it is supposed to.  It returns the entire list of ODBC DSNs.
If you really are looking to get the server type based on just the ODBC, username and password in an environment where the application needs to be aware of different types of databases, use the following code:

$link2 = odbc_connect($dsn , $DBUser, $DBPwd ) or die(odbc_errormsg() );
$result = @odbc_data_source( $link2, SQL_FETCH_FIRST );
while($result)
{
    if (strtolower($dsn) == strtolower($result['server'])) {
        echo $result['description'] . "<br>\n";
        break;
    }
       else
        $result = @odbc_data_source( $link2, SQL_FETCH_NEXT );
}

odbc_close($link2);

// Hope it saves your precious time
up
0
angelo [at] spaceblue [dot] com
10 years ago
// Example usage:

// Connect to a ODBC database that exists on your system
$link = odbc_connect("some_dsn_name", "user", "password") or die(odbc_errormsg() );

$result = @odbc_data_source( $link, SQL_FETCH_FIRST );
while($result)
{
    echo "DSN: " . $result['server'] . " - " . $result['description'] . "<br>\n";
    $result = @odbc_data_source( $link, SQL_FETCH_NEXT );
}

odbc_close($link);
To Top