Backup Sql Server To Mysql from PHP

 Se presentó la necesidad de generar un respaldo desde una base datos SQL Server a MySql. El problema que existía era que, los datos que estaban en SQL Server eran una vista de la base de datos del programa SAP por lo que, la cantidad de datos que tenia era monumental. La solución, un backup para obtener solo los datos necesarios.

$user = 'usrpm1rpt';
$pass = 'reportes2015*';
$server = '172.16.3.41';
$database = 'ICPSAP';

$connection_string = "DRIVER={SQL Server};SERVER=$server;DATABASE=$database";
$conn = odbc_connect($connection_string,$user,$pass);

$conexion = mysql_connect("localhost", "root", "root");
mysql_select_db("mmdb", $conexion);

if ($conn) {
    echo "Conexion a ICPSAP establecida."."\n";

$tablas = array("TB_MYSQL1","TB_MYSQL2","TB_MYSQL3");
$Querys = array("SELECT * FROM TABLA_SQLSERVER1", "SELECT * FROM TABLA_SQLSERVER2", "SELECT * FROM TABLA_SQLSERVER3");

 for ($i=0; $i < count($tablas) ; $i++) {

       $sql = "$Querys[$i]";
    $res = odbc_exec($conn,$sql);

   $quetrunc = "TRUNCATE ".$tablas[$i]."";
   $resEmp = mysql_query($quetrunc, $conexion) or die(mysql_error());

  while($myRow = odbc_fetch_array( $res )){

    $columns = implode(", ",array_keys($myRow));
    $escaped_values = array_map('mysql_real_escape_string', array_values($myRow));
    $values  = implode("', '", $escaped_values);
    $values = utf8_decode($values);
    
    $sql2 = "INSERT INTO ".$tablas[$i]." ($columns) VALUES ('$values')";
    $resEmp = mysql_query($sql2, $conexion) or die(mysql_error());
  }
 }

 mysql_close();

} else{
    die("Error en la conexion.");
}


En el primer enunciado tenemos las conexiones tanto a SQL Server como a MySql. En el if validamos que se esta realizando correctamente la conexión de Mysql. Luego generamos los arrays donde, $tablas corresponde a las tablas de MySql. Luego en $querys, tenemos los Select para obtener los datos de SQL Server.

Ya en el ciclo FOR tendremos todo el procedimiento para, primero truncar las tablas y después ingresar los datos en Mysql.

Comentarios

Entradas populares de este blog

Conexión SQL Server Macro Excel

Descarga revistas yumpu.com

XML - Download File - VBA Excel