= Estabelecendo uma Conexão com um Banco de Dados Oracle = Para conectar-se a um banco de dados Oracle, utilize, como ''template'', o código abaixo (supõe-se que o código será executado em uma classe da camada Model): {{{ /* cria uma nova instância da classe wf_db */ $conn = Factory::newInstance('wf_db'); /* * Conecta-se ao banco de dados * A porta padrão para o banco Oracle é: 1521 * oci8 é o driver do Oracle para o ADOdb */ $conn->connect('nome_database', 'host', porta, 'usuario', 'senha', 'oci8'); /* verifica se a conexão foi bem sucedida */ if ($conn) { /* executa uma query */ $recordSet = $conn->query('SELECT campo1, campo2 FROM esquema.tabela'); /* verifica se a query foi executada com sucesso */ if ($recordSet) { /* percorre os dados da consulta */ while (!$recordSet->EOF) { print_r($recordSet->fields); $recordSet->MoveNext(); } } } /* desconecta-se do banco */ $conn->disconnect(); /** * Por motivo ainda não identificado, o adodb utiliza uma variável global para armazenar o nome do último banco utilizado. * Tal característica faz com que a conexão com o banco padrão, o postgresql, seja perdida. * Para corrigir este problema adicione as linhas abaixo logo após a desconexão com o oracle. */ global $ADODB_LASTDB; $ADODB_LASTDB = 'postgres7'; }}} == Instalação das Bibliotecas da Oracle == A configuração do servidor apache2/php para conexão com o oracle NÃO vem pré-configurada com a instalação padrão do workflow, para tanto deve-se seguir o roteiro de instalação abaixo. Todos os comandos devem ser executados com o usuário root 1) Antes, de iniciar a instalação, verifique se a biblioteca libaio está instalada. Caso não esteja, instale-a através do {{{ apt-get install libaio1 }}} 2) Crie o diretório onde a biblioteca ficará instalada: {{{ mkdir -p /opt/oracle/instantclient cd /opt/oracle/instantclient }}} 3) Baixar a última versão do software instantclient da Oracle, compatível com a arquitetura do servidor: {{{ http://www.oracle.com/technology/software/tech/oci/instantclient/index.html Será necessário um usuário e senha para logar. Cadastre-se no site. }}} 4) Execute os comandos abaixo para instalar as bibliotecas do Oracle: {{{ unzip basic.zip unzip sdk.zip mv instantclient_11_1/* . rmdir instantclient_11_1 echo /opt/oracle/instantclient >> /etc/ld.so.conf ldconfig ln -s libclntsh.so.11.1 libclntsh.so ln -s libocci.so.11.1 libocci.so rm basic.zip sdk.zip }}} == Instalação da Extensão OCI8 == 1) Agora, é necessário instalar a extensão OCI8 (que permite o PHP conectar-se com o ORACLE): {{{ mkdir -p /usr/local/src cd /usr/local/src }}} 2) Baixar a extensão (link abaixo) no diretório recém criado: {{{ http://pecl.php.net/package/oci8 }}} 3) Instale a extensão através dos seguintes comandos: {{{ tar zxvf oci8-1.3.5.tgz cd oci8-1.3.5/ phpize ./configure --with-oci8=shared,instantclient,/opt/oracle/instantclient make make install rm oci8-1.3.5.tgz }}} 4) Adicione a linha "extension=oci8.so" (sem as aspas) no arquivo "/etc/php5/apache2/php.ini" logo após as outras declarações de extensões. 5) Reinicie o serviço apache: {{{ /etc/init.d/apache2 restart }}}