Funções de IBM DB2

Índice

  • db2_autocommit — Retorna ou define o estado AUTOCOMMIT para uma conexão de banco de dados
  • db2_bind_param — Vincula uma variável PHP a um parâmetro de instrução SQL
  • db2_client_info — Retorna um objeto com propriedades que descrevem o cliente do banco de dados DB2
  • db2_close — Fecha uma conexão de banco de dados
  • db2_column_privileges — Retorna um conjunto de resultados listando as colunas e privilégios associados para uma tabela
  • db2_columns — Retorna um conjunto de resultados listando as colunas e metadados associados para uma tabela
  • db2_commit — Confirma uma transação
  • db2_conn_error — Retorna uma string contendo o SQLSTATE retornado pela última tentativa de conexão
  • db2_conn_errormsg — Retorna a última mensagem de erro de conexão e o valor SQLCODE
  • db2_connect — Retorna uma conexão com um banco de dados
  • db2_cursor_type — Retorna o tipo de cursor usado por um recurso de instrução
  • db2_escape_string — Usado para escapar certos caracteres
  • db2_exec — Executa uma instrução SQL diretamente
  • db2_execute — Executa uma instrução SQL preparada
  • db2_fetch_array — Retorna um array, indexado pela posição da coluna, representando uma linha em um conjunto de resultados
  • db2_fetch_assoc — Retorna um array, indexado pelo nome da coluna, representando uma linha em um conjunto de resultados
  • db2_fetch_both — Retorna um array, indexado pelo nome da coluna e pela posição, representando uma linha em um conjunto de resultados
  • db2_fetch_object — Retorna um objeto com propriedades que representam colunas na linha buscada
  • db2_fetch_row — Define o ponteiro do conjunto de resultados para a próxima linha ou linha solicitada
  • db2_field_display_size — Retorna o número máximo de bytes necessários para exibir uma coluna
  • db2_field_name — Retorna o nome da coluna no conjunto de resultados
  • db2_field_num — Retorna a posição da coluna nomeada em um conjunto de resultados
  • db2_field_precision — Retorna a precisão da coluna indicada em um conjunto de resultados
  • db2_field_scale — Retorna a escala da coluna indicada em um conjunto de resultados
  • db2_field_type — Retorna o tipo de dados da coluna indicada em um conjunto de resultados
  • db2_field_width — Retorna a largura do valor atual da coluna indicada em um conjunto de resultados
  • db2_foreign_keys — Retorna um conjunto de resultados listando as chaves estrangeiras para uma tabela
  • db2_free_result — Libera recursos associados a um conjunto de resultados
  • db2_free_stmt — Libera recursos associados ao recurso de instrução indicado
  • db2_get_option — Recupera um valor de opção para um recurso de instrução ou um recurso de conexão
  • db2_last_insert_id — Retorna o ID gerado automaticamente da última consulta de inserção que foi executada com sucesso nesta conexão
  • db2_lob_read — Obtém um tamanho definido pelo usuário de arquivos LOB com cada invocação
  • db2_next_result — Solicita o próximo conjunto de resultados de um procedimento armazenado
  • db2_num_fields — Retorna o número de campos contidos em um conjunto de resultados
  • db2_num_rows — Retorna o número de linhas afetadas por uma instrução SQL
  • db2_pclose — Fecha uma conexão persistente a um banco de dados
  • db2_pconnect — Retorna uma conexão persistente a um banco de dados
  • db2_prepare — Prepara uma instrução SQL para ser executada
  • db2_primary_keys — Retorna um conjunto de resultados listando as chaves primárias para uma tabela
  • db2_procedure_columns — Retorna um conjunto de resultados listando os parâmetros do procedimento armazenado
  • db2_procedures — Retorna um conjunto de resultados listando os procedimentos armazenados registrados em um banco de dados
  • db2_result — Retorna uma única coluna de uma linha no conjunto de resultados
  • db2_rollback — Reverte uma transação
  • db2_server_info — Retorna um objeto com propriedades que descrevem o servidor de banco de dados DB2
  • db2_set_option — Define opções para recursos de conexão ou instrução
  • db2_special_columns — Retorna um conjunto de resultados listando as colunas de identificador de linha exclusivo para uma tabela
  • db2_statistics — Retorna um conjunto de resultados listando o índice e as estatísticas de uma tabela
  • db2_stmt_error — Retorna uma string contendo o SQLSTATE retornado por uma instrução SQL
  • db2_stmt_errormsg — Retorna uma string contendo a última mensagem de erro da instrução SQL
  • db2_table_privileges — Retorna um conjunto de resultados listando as tabelas e privilégios associados em um banco de dados
  • db2_tables — Retorna um conjunto de resultados listando as tabelas e metadados associados em um banco de dados
adicione uma nota

Notas Enviadas por Usuários (em inglês) 3 notes

up
3
igtoth at gmail dot com
10 years ago
// IBM DB2 funcitons like MySQL (ODBC based)
// "Ighor Toth" <igtoth@gmail.com>
// Date: 08/05/2014

// usage:
// db2_connect(verbose,instance,username,password); -> also reads config file if nothing declared db2.conf.inc.php
// db2_query(db2_connect_return,sql)
// db2_fetch_array(result);
// db2_fetch_object(result);
// db2_display_table(db2_connect_return,sql); // select only

function db2_connect($verbose = null,$db2name = null,$username = null,$password = null) {
if(!isset($verbose)){
$verbose = TRUE; // TRUE or FALSE, if not set TRUE
}
if(!isset($db2name)){ // NOT DECLARED
include("db2.conf.inc.php"); // CHECK CONFIG FILE
if(!isset($db2name)){
if ($verbose == TRUE){
echo ("DB2 Instance not selected");
exit();
} else {
exit();
}
}
} else if (!isset($username)){
echo ("DB2 Instance username not specified");
exit();
}
$db2conn = odbc_connect($db2name, $username, $password);
if (($verbose == TRUE) && ($db2conn == 0)) {
echo("Connection to database failed.");
$sqlerror = odbc_errormsg($db2conn);
echo($sqlerror);
}
return($db2conn);
}

function db2_query($db2conn,$sql){
$result = odbc_exec($db2conn, $sql);
if ($result == 0) {
echo("QUERY = '$sql' FAILED.<br>\n");
$sqlerror = odbc_errormsg($db2conn);
echo($sqlerror);
} else {
// odbc_result_all prints all of the rows
// for a result set ID as an HTML table
return $result;
}
}

function db2_fetch_array($result, $rownumber=null){
$array = array();
if (!($cols = odbc_fetch_into($result, $result_array, $rownumber))) {
return false;
}
for ($i = 1; $i <= $cols; $i++) {
$array[odbc_field_name($result, $i)] = $result_array[$i - 1];
}
return $array;
}

function db2_fetch_object($result){
if(function_exists("db2_fetch_object")) return db2_fetch_object($result);
$rs = array();
$rs_obj = false;
if( odbc_fetch_into($result, $rs) ){
foreach( $rs as $key=>$value ){
$fkey = odbc_field_name($result, $key+1);
$rs_obj->$fkey = trim($value);
}
}
return $rs_obj;
}

function db2_display_table($db2conn,$sql) {
// select all rows from the table
if(!isset($db2conn)||!isset($sql)){
echo("ERROR db2_display_table: Function missing arguments");
exit();
}
$check = explode(" ",$sql);
if($check[0]!="SELECT"){
echo("ERROR db2_display_table: Not SELECT SQL query");
}
if ($db2conn != 0) {
// odbc_exec returns 0 if the statement fails;
// otherwise it returns a result set ID
$result = odbc_exec($db2conn, $sql);
if ($result == 0) {
echo("SELECT statement failed.");
$sqlerror = odbc_errormsg($db2conn);
echo($sqlerror);
} else {
// odbc_result_all prints all of the rows
// for a result set ID as an HTML table
odbc_result_all($result);
}
}
}
up
1
Richard dot Ablewhite at gmail dot com
16 years ago
There seems to be a lot of good documentation
for Linux users compiling PHP with DB2 support,
but decent Windows notes are minimal.

You do not need to install full DB2 clients to get DB2
working with DB2, all you need is the IBM Data
Server Driver for ODBC, CLI, and .NET which is only
16.1 meg.

You can download the driver from here:

Direct Link:
ftp://ftp.software.ibm.com/ps/products/db2/fixes2/englsh-us/
db2_v95/dsdriver/fp2/v9.5fp2_nt32_dsdriver_EN.exe

Home Page:
http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg21287889

This includes both the drivers required and the PHP
dll php_ibm_db2_5.2.2.dll

Once installed the drivers do not setup the correct
path environmental variable,
so add the following to your path:

C:\Program Files\IBM\IBM DATA SERVER DRIVER\bin

Once thats done all should work! No massive
400meg client downloads required.

Whats even better about these drivers is that you
dont need to install them,
you can simply copy the bin directory to any server,
add it to your path and it will just work.
This is great for anyone developing PHP-GTK applications,
I copy the bin directory into my php-gkt2 directory
and execute using the following batch script:

path = %PATH%;.\IBM DATA SERVER DRIVER\bin
php-win.exe %*

This lets me role out lightweight DB2 client desktop
apps that dont have to be installed,
can just be coppied from PC to PC or ran over a
network or from USB stick.

As your only installing the client drivers you wont be
able to catalog databases,
so always use the full connection string. Here is a
quick bit of code to get you started:

$database = 'databasename';
$user = 'user';
$password = 'password';
$hostname = '127.0.0.1';
$port = 50000;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
"HOSTNAME=$hostname;PORT=$port;".
"PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string, '', '');

$query = 'SELECT * FROM TABLE';
$res = db2_prepare($conn, $query);
db2_execute($res);

while ($row = db2_fetch_array($res)) {
print_r($row);
}
up
0
Exi
16 years ago
The DB/2 Run-Time-Client can be found here:
http://www-1.ibm.com/support/docview.wss?rs=71&uid=swg21255394
Select the 'Runtime Client Installable for Windows' further down the page and download it.
Clients for other platform (incl. 64-Bit Windows) are also available from that page.
To Top