
		henbran
		
		(usa Debian)
		
		Enviado em 08/05/2013 - 15:10h 
		cheque se o teu php consta PDO
------------------------------------------------------------------------------------
crie um script
<?php
phpinfo();
?>
salve como phpinfo.php no diretório www e execute no navegador http://localhost/phpinfo.php
na tela que aparecer (meio azulada), pesquise se mostra algo sobre PDO e para qual BD tem driver, se só tiver para mySql, pesquise no google como instalar driver oracle para PDO no teu php (varia de acordo com o sistema operacional)
------------------------------------------------------------------------------------
http://php.net/manual/en/book.pdo.php
------------------------------------------------------------------------------------
depois, como no meu caso, criei uma classe Banco em um arquivo Banco.php
nessa classe criei os métodos/functions 
conectar: com a assinatura nomeBanco. Dentro dessa funcion joguei um switch com as eventuais disponíveis conexões.
Também nessa classe coloquei um método sair para desligar a conexão com o BD e, um objeto publico chamado conexao.
------------------------------------------------------------------------------------
================================================================
<?php
class Banco {
    public $conexao;
    public $msg;
    public function __construct() {
    			
    }
    public function conectar($banco) {
	$this->getBanco($banco) 
        if ($this->conexao) {
            try {
                $this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            } catch (PDOException $e) {
                $this->msg = "Erro de conexão com o banco de dados: Código: " . $e->getCode() . "Mensagem " . $e->getMessage() . "hora: " . date('H:i:s');
            }
        } else {
            echo "Erro na definição PDO do banco de dados!";
            exit;
        }
	return $this->conexao;
    }
    private function getBanco($banco) {
        try {        	
            switch ($banco) {
                case 'meuBancoMySql':
                    try {
                        $this->con = new PDO("mysql:host=" . "url do dataserver" . ";dbname=" . "nomeDoBanco", "user", "senha");
                    } catch (Exception $exc) {
                        $this->msg = "Erro de coneção com o banco de dados MySql. " . $exc->getTraceAsString();
                    }
                    break;
                case 'meuBancoPostGreeSql':
                    $this->con = new PDO("pgsql:dbname={" . "nomeDoBanco" . "};user={" . "user" . "}; password={" . "senha" . "};host=" . "url do dataserver");
                    break;
                case 'meuBancoOracle':
                    $tns = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" . "url do dataserver" . ")(PORT=1521)))(CONNECT_DATA=(SID=" . "nomeDoBanco" . ")))";
                    $this->con = new PDO("oci:dbname=" . $tns, "user", "senha", array(PDO::ATTR_PERSISTENT => true));
                    break;
                case 'mssql':
                    $this->con = new PDO("mssql:host={" . "url do dataserver" . "},1433;dbname={" . "nomeDoBanco" . "}", "user", "senha");
                    break;
            }
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
            exit;
        }
    }
}
?>
================================================================