Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/02/2012, 08:21
neshken
 
Fecha de Ingreso: agosto-2006
Ubicación: Girardot
Mensajes: 27
Antigüedad: 17 años, 9 meses
Puntos: 2
Respuesta: Crear aplicacion en php que se pueda conectar a varias BD

Hola muy buenos días

Lo que dice OsSk4R es cierto te toca trabajar con PDO. Te dejo el script de configuración que empleo actualmente:

config.inc.php

<?php

#Variables de conexión al Servidor de la Base de datos
$svr = 'localhost'; #Servidor de la Base de datos.
$usr = 'root'; #Usuario del Servidor de la Base de datos.
$pwd = 'root'; #Contraseña del Usuario de la Base de datos.
$dbh = 'db_dukcar'; #Nombre de la Base de datos.
$port = 3306; #Puerto de conexión del servidor de la Base de datos.



#Definición de constantes - Motores de Bases de datos
define('MySQL', 'MySQL');
define('PostgreSQL', 'PgSQL');
define('SQLite', 'SQLite');
define('Informix', 'Informix');
define('ORACLE', 'Oracle');
define('DNS', 'winDNS');
define('DBLIB', 'winDBLIB');
define('DB2', 'ibmDB2');
define('FIREBIRD', 'FireBirdDB');

#Motor de la Bases de Datos a usar
$dbMotor = MySQL;

#Compara la variable o expresión ($dbMotor) con los Mototres de las Bases de Datos
switch($dbMotor){
case "MySQL":
/* Conexión al Servidor MySQL */
try {
$lnk = new PDO("mysql:host=$svr;dbname=$dbh",$usr,$pwd);
//$lnk->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEP TION);
//$lnk->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNI NG);
//$lnk->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_SILEN T);
}
catch(PDOException $e) {
echo $e->getMessage();
}
break;
case "PostgreSQL":
/* Conexión al Servidor PostgreSQL */
try {
$lnk = new PDO("pgsql:dbname=$dbh;host=$svr",$usr,$pwd);
}
catch(PDOException $e){
echo $e->getMessage();
}
break;
case "SQLite":
/* Conexión al Servidor SQLite */
try {
$lnk = new PDO("sqlite:/ruta/$dbh");
}
catch(PDOException $e) {
echo $e->getMessage();
}
break;
case "Informix":
/* Conexión al Servidor Informix */
try {
$lnk = new PDO("informix:DSN=$dbh", $usr, $pwd);
}
catch (PDOException $e) {
echo $e->getMessage();
}
break;
case "ORACLE":
/* Conexión al Servidor Oracle */
try {
$lnk = new PDO("OCI:dbname=$dbh;charset=UTF-8", $usr, $pwd);
}
catch (PDOException $e) {
echo $e->getMessage();
}
break;
case "DNS":
/*
Hay muchas conexiones ODBC que puede crear, aquí se presenta,
cómo conectarse a una base de datos de cuentas de MS Access.
La ruta de acceso especificada es c:\accounts.mdb.
*/
try {
$lnk = new PDO("odbc:Driver={Microsoft Access Driver(*.mdb)};Dbq=C:\accounts.mdb;Uid=Admin");
}
catch (PDOException $e) {
echo $e->getMessage();
}
break;
case "DBLIB":
/* base de datos específico de Windows, DBLIB */
try{
$lnk = new PDO("dblib:host=$svr:$port;dbname=$dbh",$usr,$pwd) ;
}
catch (PDOException $e){
echo $e->getMessage();
}
break;
case "DB2":
/* Conexión a DB2 IBM */
try{
$lnk = new PDO("ibm:DRIVER {IBM DB2 ODB DRIVER}; DATABASE=$dbh; HOSTNAME=$svr; PROTOCOL=TCPIP",$usr, $pwd);
}
catch (PDOException $e) {
echo $e->getMessage();
}
break;
case "FIREBIRD":
/* Servidor Firebird */
try{
$lnk = new PDO("firebird:dbname=localhost:C:\Programs\Firebir d\DATABASE.FDB",$usr, $pwd);
}
catch (PDOException $e) {
echo $e->getMessage();
}
break;
default:
echo "<b>Error:</b> No se reconoce el motor de la Base de datos.";
}
?>


Espero sea de tu ayuda..