PHP - Exportar tabla sql server a un directorio y en formato sql

 
Vista:

Exportar tabla sql server a un directorio y en formato sql

Publicado por Sam (185 intervenciones) el 08/06/2018 17:56:43
Hola amigas y amigos veran tengo un codigo que me conecta a una base de datos sql server.

Conectarme, si me conecta a la base de datos pero no me exporta la tabla a un directorio y en formato .sql
Si me pudieran ayudar les estaria muy agradecido por ello.

Miren este es mi codigo, y gracias de antemano:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
$conexArrayBBDD = array (
    "UID" => "UsuarioNombre",
    "PWD" => "1234567",
    "Database" => "empresa",
);
 
$conexBBDD = sqlsrv_connect('000.000.000', $conexArrayBBDD);
 
 
 
 
if ($conexBBDD)
{
if(($resultado = sqlsrv_query($conexBBDD,"SELECT * FROM [dbo].[Hispamicro$Tarifa Proveedor]")) !== false)
{
 
    //Declaro las variables necesarias
 
    $tabla = '';
    $salida = '';
 
 
    //Consigo las tablas necesarias
 
    if($tablas == '*')
    {
        $tablas = array();
 
        $resultado = $conexBBDD->sqlsrv_query("SHOW TABLES");
 
        while($fila = $resultado->sqlsrv_fetch_row())
        {
            $tablas[] = $fila[0];
        }
    }
    else
    {
        $tablas = is_array($tablas)?$tablas:explode(',',$tablas);
    }
 
 
    //Hago un recorrido
    foreach($tablas as $tabla)
    {
        $resultado = $conexBBDD->sqlsrv_query("SELECT * FROM " . $tabla);
 
        $numColumnas = $resultado->field_count;
 
        //$salida .= "DROP TABLE " . $tabla;
 
        $resultadoDos = $conexBBDD->sqlsrv_query("SHOW CREATE TABLE " . $tabla);
 
        $filaDos = $resultadoDos->sqlsrv_fetch_row();
 
        $salida .= "\n\n".$filaDos[1].";\n\n";
 
 
        for($i = 0; $i < $numColumnas; $i++)
        {
            while($fila = $resultado->sqlsrv_fetch_row())
            {
                $salida .= "INSERT INTO " . $tabla . " VALUES(";
 
                for($j=0; $j < $numColumnas; $j++)
                {
                    $fila[$j] = addslashes($fila[$j]);
 
                    //$fila[$j] = ereg_replace("\n","\\n",$fila[$j]);
 
                    $fila[$j] = preg_replace("/\n/","\\n",$fila[$j]);
 
                    if (isset($fila[$j]))
                    {
                        $salida .= '"'.$fila[$j].'"' ;
                    }
                    else
                    {
                        $salida .= '""';
                    }
 
                    if ($j < ($numColumnas-1))
                    {
                        $salida.= ',';
                    }
                }
 
                $salida .= ");\n";
            }
        }
 
        $salida .= "\n\n\n";
 
    }
 
    //Guardo el archivo
 
    $referencia = fopen('historial/tabla-backup-'.time().'.sql','w+');
 
    fwrite($referencia,$salida);
 
    fclose($referencia);
 
   }//Fin de If
 
}//Fin de If
else
{
    die(print_r(sqlsrv_errors(), true));
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Exportar tabla sql server a un directorio y en formato sql

Publicado por Sam (185 intervenciones) el 09/06/2018 16:35:36
Con este código soy capaz de exportar una tabla a formato .sql a un directorio pero en mysqli pero no me funciona con sqlsrv.
Y no entiendo por que.
Si me pudieran ayudar le estaría muy agradecido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar