acessar interbase Caros Colegas, como faço para acessar pelo framework usando o bd interbase, ou será somente na versão 2 sds, helder...
HL
acessar interbase  
Fechado
Caros Colegas, como faço para acessar pelo framework usando o bd interbase, ou será somente na versão 2

sds,
helder

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (5)


AN

A classe
TConnection.class.php
esta preparada para interbase/firebird.
Estou usando neste exato momento em um projeto de integração entre duas aplicações distintas. De um lado eu tenho MySQL do outro tenho FIREBIRD.
Testei apenas usando firebird, creio que vai funcionar com o interbase também.
Obs.: Tive que mudar um pouco a TConnection para conseguir conexão com o banco, mas foi algo leve. Segue abaixo o que mudei:

Original:
.... case 'ibase': $name = isset($host) ? "{$host}:{$name}" : $name; $conn = new PDO("firebird:dbname={$name}", $user, $pass); break; .....


Modificação
... case 'ibase': $conn = new PDO("firebird:dbname={$host}:{$name}", $user, $pass); break; TConnection.class.php
<?php/** * Singleton manager for database connections * * @version    1.0 * @package    database * @author     Pablo Dall'Oglio * @copyright  Copyright (c) 2006-2012 Adianti Solutions Ltd. (http://www.adianti.com.br) * @license    http://www.adianti.com.br/framework-license */final class TConnection{    /**     * Class Constructor     * There'll be no instances of this class     */    private function __construct() {}        /**     * Opens a database connection     *      * @param $database Name of the database (an INI file).     * @return          A PDO object if the $database exist,     *                  otherwise, throws an exception     * @exception       Exception     *                  if the $database is not found     * @author          Pablo Dall'Oglio     */    public static function open($database)    {        // check if the database configuration file exists        if (file_exists("app/config/{$database}.ini"))        {            // read the INI and retuns an array            $db = parse_ini_file("app/config/{$database}.ini");        }        else        {            // if the database doesn't exists, throws an exception            throw new Exception(TAdiantiCoreTranslator::translate('File not found') . ': ' ."'{$database}.ini'");        }                // read the database properties        $user  = isset($db['user']) ? $db['user'] : NULL;        $pass  = isset($db['pass']) ? $db['pass'] : NULL;        $name  = isset($db['name']) ? $db['name'] : NULL;        $host  = isset($db['host']) ? $db['host'] : NULL;        $type  = isset($db['type']) ? $db['type'] : NULL;        $port  = isset($db['port']) ? $db['port'] : NULL;                // each database driver has a different instantiation process        switch ($type)        {            case 'pgsql':                $port = $port ? $port : '5432';                $conn = new PDO("pgsql:dbname={$name};user={$user}; password={$pass};host=$host;port={$port}");                break;            case 'mysql':                $port = $port ? $port : '3306';                $conn = new PDO("mysql:host={$host};port={$port};dbname={$name}", $user, $pass);                break;            case 'sqlite':                $conn = new PDO("sqlite:{$name}");                break;            case 'ibase':                $name = isset($host) ? "{$host}:{$name}" : $name;                $conn = new PDO("firebird:dbname={$name}", $user, $pass);                break;            case 'oci8':                $conn = new PDO("oci:dbname={$name}", $user, $pass);                break;            case 'mssql':                $conn = new PDO("mssql:host={$host},1433;dbname={$name}", $user, $pass);                break;            case 'dblib':                $conn = new PDO("dblib:host={$host},1433;dbname={$name}", $user, $pass);                break;        }                // define wich way will be used to report errors (EXCEPTION)        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);                // return the PDO object        return $conn;    }}?>


Tenta ai Helder, posta os resultados pra gente :D

Abraços
AN

Correção.
Fiz essa mudança quando estava trabalhando com as classes do livro PHP POO do pablo, ainda não testei no framework. Mas deve funcionar sem precisar mudar nada em TConnection.class.php
Abraços.
ES

Olá pessoal!
Eu acabei de fazer uma aplicação para impressão de etiquetas de código de barras em impressora zebra tlp 2844 usando base de dados firebird.

Funcionou sem qualquer alteração na classe de conexão, o mais difícil foi fazer a dll pdo_firebird funcionar.

Eu aconselho que primeiro verifique se a extensão pdo_firebird está funcionando depois faça os testes de conexão, lembrando que a string name do arquivo .ini deve ficar assim: "name = hostname:<Unidade>:<Endereço>Banco.fdb"


Att.
Eliezer</Unidade>
AN

Rode este script para verificar quais pdo estão compiladas em seu PHP.
<?php foreach(PDO::getAvailableDrivers() as $driver) {  echo $driver.'\n<br />';}?>


J

Iai galera, estou precisando de ajuda para conectar com o firebird também, como configurar o arquivo config.ini

Alguém que tenha conseguidor fazer funcionar, poderia mandar um exemplo de todos os campos preenchidos do config.ini, não tenho experiencia alguma com firebird, estou começando agora.