Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   script insertar a mysql (https://www.clubdelphi.com/foros/showthread.php?t=83343)

salvica 06-06-2013 00:52:45

script insertar a mysql
 
Hola

Tengo hecho un script que intenta grabar un fichero con varias insert en mysql
Código:

#!/bin/bash
.....
código para generar las inserciones
.....
#
# ---> definir los parametros de la conexion
      ARGS="--user=$MYSQL_USERNAME --password=$MYSQL_PASSWORD"
#
# ---> continuar la insercion, aunque falle alguna
      OPTS="--force"
#
# ---> configurar el script, tomando como entrada el fichero $NSQL (existe)
      script_sql="mysql $ARGS $OPTS < $NSQL"
#
# ---> ejecutarlo y salvar la salida en un fichero LOG
      $script_sql        >> $NLOG

El fichero de inserciones generado, es tal que asi
Código:

use miDatabase;

INSERT INTO mitabla ( fecha, latitud, longitud )
                VALUES ('2013-06-03 17:04:15', 40.4597, -0.7172);

INSERT INTO mitabla ( fecha, latitud, longitud )
                VALUES ('2013-06-03 17:05:09', 40.4488, -0.7043);

INSERT INTO mitabla ( fecha, latitud, longitud )
                VALUES ('2013-06-03 17:09:37', 40.5150, -0.6287);

quit

pero no me da errores ni me inserta nada.

¿Sabeis como se hace para leer desde un fichero externo?
Gracias adelantadas
Salvica

ozsWizzard 06-06-2013 12:55:09

¿Has probado a ponerle Commit?

salvica 06-06-2013 16:49:47

Hola ozsWizzard, gracias por responder.

Creo que no es problema de base de datos, sino de la conexión desde un script en linux, que no ejecuta las sentencias almacenadas en otro fichero.

Tengo un script que lee unos datos de unos ficheros de texto y forma las consultas INSERT necesarias. Estas insert debo enviarlas a mysql, y según he leido en internet la sintaxis es:
Código SQL [-]
   mysql --user=usuario --password=password < MI_CONSULTA.SQL
pero, no se porqué, no hace nada.

He probado a hacerlo manualmente:
Código SQL [-]
   $ mysql --user=yo --password=123
   mysql>source /carpeta/a/los/datos/MI_CONSULTA.SQL;
   mysql>quit;
pero tampoco hace nada.

Las inserciones estan bien, ya que con phpmyadmin no dan errores e insertan los datos.

Como inicialmente escribí el hilo en el foro de LINUX, no puse las caracteristicas:
S.O.: Ubuntu 12.04 LTS
MySql: 5.5

Gracias de todas formas
Salvica

salvica 08-06-2013 02:00:45

Solucionado
 
Como suponía, era problema de sintaxis en linux. Hay que sacar "mysql" de la cadena
Código SQL [-]
#
# ---> definir los parametros de la conexion
ARGS="--user=$MYSQL_USERNAME --password=$MYSQL_PASSWORD"
#
# ---> continuar la insercion, aunque falle alguna
OPTS="--force"
#
# ---> ejecutar el script, tomando como entrada el fichero $NSQL (existe)
mysql $ARGS $OPTS < $NSQL
Gracias a todos
Salvica


La franja horaria es GMT +2. Ahora son las 21:45:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi