odbc_connect

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

odbc_connectConecta a uma fonte de dados

Descrição

odbc_connect(
    string $dsn,
    string $user,
    string $password,
    int $cursor_option = SQL_CUR_USE_DRIVER
): resource|false

O ID de conexão retornado por essas funções é necessário para outras funções ODBC. Podem existir várias conexões abertas ao mesmo tempo, desde que usem bancos de dados diferentes ou credenciais diferentes.

Com alguns drivers ODBC, a execução de um procedimento armazenado complexo pode falhar com um erro semelhante a: "Não é possível abrir um cursor em um procedimento armazenado que contenha algo diferente de uma única instrução SELECT". Usar SQL_CUR_USE_ODBC pode evitar esse erro. Além disso, alguns drivers não suportam o parâmetro row_number opcional em odbc_fetch_row(). SQL_CUR_USE_ODBC também pode ajudar nesse caso.

Parâmetros

dsn

O nome da fonte do banco de dados para a conexão. Como alternativa, uma string de conexão sem DSN pode ser usada.

user

O nome de usuário.

password

A senha.

cursor_option

Este parâmetro define o tipo de cursor a ser usado para esta conexão. Este parâmetro normalmente não é necessário, mas pode ser útil para solucionar problemas com alguns drivers ODBC.

As seguintes constantes são definidas para o tipo de cursor:

  • SQL_CUR_USE_IF_NEEDED
  • SQL_CUR_USE_ODBC
  • SQL_CUR_USE_DRIVER

Valor Retornado

Retorna uma conexão ODBC, ou false em caso de falha.

Exemplos

Example #1 Conexões sem DSN

<?php
// Microsoft SQL Server usando o Driver ODBC SQL Native Client 10.0 - permite conexão ao SQL 7, 2000, 2005 and 2008
$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password);

// Microsoft Access
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);

// Microsoft Excel
$excelFile = realpath('C:/ExcelData.xls');
$excelDir = dirname($excelFile);
$connection = odbc_connect("Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=$excelFile;DefaultDir=$excelDir" , '', '');
?>

Veja Também

  • Para conexões persistentes: odbc_pconnect() - Abre uma conexão persistente com o banco de dados