Conexão a um banco de dados Ingres com o PHP

Dezembro 2016

Esta dica é baseada nas seguintes documentações do Ingres:
- Ingres® 2006 Release 2 for Windows Quick Start Guide (qs_windows.pdf)
- Ingres® 2006 Release 2 for Linux Quick Start Guide (qs_linux.pdf)
(Veja o artigo nesta mesma seção)


Baixe o PECL


- Windows (driver)
- Linux & Unix (código fonte)

Instalação


Windows
1 - Copie o arquivo php_ingres.dll no diretório das extensões PHP
2 - Edite o seu arquivo php.ini e adicione a seguinte linha:
extensão=php_ingres.dll

Linux & Unix
1 - Localizar o diretório onde fica o comando phpize ou php-config
Em algumas distribuições do Linux, é necessário renomear esses arquivos para evitar conflitos.
Para compilar a biblioteca PECL Ingres você precisa de um compilador.
2 - Verificar se a variável II_SYSTEM foi bem valorizada
echo $II_SYSTEM

3 - Ir para o dretório com o código fonte da extensão
4 - Gerar a configuração para a extensão
phpize

5 - Gerar o Makefile
./configure --with-ingres

6 - Compilar a extensão
make

7 - Instalar a extensão
make install

8 - Editar o arquivo php.ini e adicionar a linha extensão=ingres.so
9 - Se você usar o Apache, utilizar a diretiva User do httpd.conf
para verificar se o Apache está funcionando direito, com um usuário Ingres válido.

Apache para Linux & Unix

1 - Na configuração do Apache, adicionar as seguintes linhas
(ou verificar se elas não foram comentadas):
LoadModule env_module modules/mod_env.so 
SetEnv II_SYSTEM votre-répertoire-II_SYSTEM 
SetEnv LD_LIBRARY_PATH votre-répertoire-II_SYSTEM/ingres/lib


2 - Reiniciar o Apache

Exemplo de código ...


A saber: nos exemplos abaixo é possível especificar um nó ou vnode

Conexão
<?php 
$link = ingres_connect("mydb", "username", "password"); 
or die("Could not connect"); 
echo "Connected successfully"; 
ingres_close($link); 
?>


Teste de erros
<?php 
$link = ingres_connect("mydb", "username", "password"); 
if (ingres_errno($link) != 0) { 
echo ingres_errno($link) . " : " . ingres_error($link) . "<BR/>\n"; 
} 
?>


Consulta simples
<?php 
$link = ingres_connect("mydb", "username", "password"); 
// Gives a list of the tables 
$sql = "select * from iirelation order by relid asc"; 
$rc = ingres_query($sql,$link); 
// Do some error checking... 
while ( $iirelation = ingres_fetch_object($link) ) { 
echo $iirelation->relid "<BR/>\n"; 
} 
?>


Consulta com parâmetros
<?php 
$link = ingres_connect("iidbdb", "ingres", "ingres"); 
// Gives a list of the tables based on a parameter 
$sql = "select * from iirelation where relowner = ? order by relid asc"; 
$params["owner1"] = ("usrname"); 
$rc = ingres_query($sql,$link,$params); 
// Do some error checking... 
while ( $iirelation=ingres_fetch_object($link) ) { 
echo $iirelation->relid "<BR/>\n"; 
} 
?>


Carregamento de um BLOB
<?php 
// Fetch the image to be inserted 
$handle = fopen ("usrname.png","r"); 
$login_image = stream_get_contents($handle); 
fclose($handle); 
// Set up the query 
$sql = "insert into login_images values (?,?)"; 
// Type the parameters being passed 
$types = "vB"; // varchar, BLOB 
// Set up the parameter values 
$params["login"] = "usrname"; 
$params["image"] = $login_image; 
// Execute 
$rc = ingres_query($sql,$link,$params,$types); 
?>



Tradução feita por Lucia Maurity y Nouira

Veja também

Artigo original publicado por . Tradução feita por pintuda. Última modificação: 8 de fevereiro de 2012 às 11:59 por pintuda.
Este documento, intitulado 'Conexão a um banco de dados Ingres com o PHP', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.