Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-02-2021
Ariqueño Ariqueño is offline
Registrado
 
Registrado: feb 2021
Posts: 8
Poder: 0
Ariqueño Va por buen camino
Como subir datos a travé de una sentencia SQL.

buenos días ..
hace mucho tiempo que no volvía al club por estar alejado a la programación (no pude ingresar a mi antigua cuenta).. Estoy realizando una pequeña aplicación que necesito de su ayuda. Utilizo delphi 10.2, Zeoslib 7.2.4-stable y mysql 5.5.24, el problema es el sgte:
cargo desde un archivo CSV a la tabla correspondiente:
Código Delphi [-]
  DM.miSQL.Close;
  DM.miSQL.SQL.Clear;
  DM.miSQL.SQL.Add('LOAD DATA INFILE :P1');
  DM.miSQL.SQL.Add('INTO TABLE temporal_stock');
  DM.miSQL.SQL.Add('FIELDS TERMINATED BY ";"');
  DM.miSQL.SQL.Add('LINES TERMINATED BY "\r\n"');
  DM.miSQL.ParamByName('P1').Value := edit1.Text; // esto contiene edit1 "C:/DSM/DSMprecio/libros/STOCK05-01-2021.csv"
  DM.miSQL.ExecSQL;

y me arroja el sgte error:
SQL Error: File 'C:/DSM/DSMprecio/libros/STOCK05-01-2021.csv
' not found (Errcode:22)

Ahora si esta sentencia SQL lo cargo en tiempo de diseño en la Zquery:

Código SQL [-]
 LOAD DATA INFILE 'C:/DSM/DSMprecio/libros/STOCK05-01-2021.csv'
 INTO TABLE temporal_stock
 FIELDS TERMINATED BY ";"
 LINES TERMINATED BY "\r\n"

corre sin problemas..
he hecho de todo para ver cual es mi problema y nada...
desde ya gracias.
Responder Con Cita
  #2  
Antiguo 13-02-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pregunto: ¿no serán las barras al revés, al ser windows?
Cita:
C:\DSM\DSMprecio\libros\STOCK05-01-2021.csv
Responder Con Cita
  #3  
Antiguo 13-02-2021
Ariqueño Ariqueño is offline
Registrado
 
Registrado: feb 2021
Posts: 8
Poder: 0
Ariqueño Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pregunto: ¿no serán las barras al revés, al ser windows?
lo cargo tal cual en el componente zquery.. y corre bien..
ahora lo cambio como dices
C:\DSM\DSMprecio\libros\STOCK05-01-2021.csv
y envía el sgte error:

SQL Error File:
'c:\wamp\bin\mysql5.5.24\data\DSMDSMpreciolibrosStock05-01-2021.csv' not found (ErrCode:2)


no se por donde encontrar la solución.
y gracias por ayudar.

inclusive envio por consola de mysql

mysql> LOAD DATA INFILE 'C:\DSM\DSMprecio\libros\STOCK05-01-2021.csv'
-> INTO TABLE temporal_stock
-> FIELDS TERMINATED BY ";"
-> LINES TERMINATED BY "\r\n";
ERROR 29 (HY000): File 'c:\wamp\bin\mysql\mysql5.5.24\data\DSMDSMpreciolibrosSTOCK05-01-2021.csv' not found (Errcode: 2)
Responder Con Cita
  #4  
Antiguo 13-02-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si en ambos casos dice que no encuentra el .CSV es que no existe ahí o que no tiene permisos para leerlo ahí.
Responder Con Cita
  #5  
Antiguo 13-02-2021
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Yo no uso mysql, pero a mi me parece que es porque usas un parámetro en vez de directamente la ruta del archivo (no me sorprende que de la casualidad que esto no se pueda en este caso concreto en mysql).

Al usar el parámetros NO están haciendo idéntico a como lo haces en la GUI de la bd.
__________________
El malabarista.
Responder Con Cita
  #6  
Antiguo 13-02-2021
Ariqueño Ariqueño is offline
Registrado
 
Registrado: feb 2021
Posts: 8
Poder: 0
Ariqueño Va por buen camino
Cita:
Empezado por mamcx Ver Mensaje
Yo no uso mysql, pero a mi me parece que es porque usas un parámetro en vez de directamente la ruta del archivo (no me sorprende que de la casualidad que esto no se pueda en este caso concreto en mysql).

Al usar el parámetros NO están haciendo idéntico a como lo haces en la GUI de la bd.
y por donde va la mano...digo para orientarme...pensé que era una cosa de permisos veo que no es asi..
Responder Con Cita
  #7  
Antiguo 13-02-2021
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Pasa la ruta concatenando directo, sin usar parámetros.
__________________
El malabarista.
Responder Con Cita
  #8  
Antiguo 20-02-2021
Ariqueño Ariqueño is offline
Registrado
 
Registrado: feb 2021
Posts: 8
Poder: 0
Ariqueño Va por buen camino
hola...
ya encontré el problema pero no se como solucionarlo..
utilizo un OpenDialog para ubicar el archivo en cuestión.. y vacío la ruta completa a un tedit y al vaciar la instrucción SQL al Zquery se produce un salto de línea, eso lo veo en un showMessage:
Código SQL [-]
  LOAD DATA INFILE
  "C:/DSM/DSMprecio/libros/PRECIO18-02-2021.CSV
  "
  INTO TABLE temporal_stock
  FIELDS TERMINATED BY ";"
  LINES TERMINATED BY "\r\n"
y se produce el error que no se encuentra el archivo. pero si antes de dar ok la ejecución de este código me posiciono al final del Tedit y le doy 1 vez con la tecla backSpace no elimina el ultimo caracter y si le doy por segunda vez si lo hace, reintegro ese caracter eliminado y ejecuto la instruccion y funciona de maravilla....

parece una historia de brujas y duendes... pero asi es....que me hecha un cable..porfavor.
Responder Con Cita
  #9  
Antiguo 20-02-2021
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Solo hay que darle trim al string antes de pasarlo al mysql:

http://www.delphibasics.co.uk/RTL.asp?Name=Trim
__________________
El malabarista.
Responder Con Cita
  #10  
Antiguo 20-02-2021
Ariqueño Ariqueño is offline
Registrado
 
Registrado: feb 2021
Posts: 8
Poder: 0
Ariqueño Va por buen camino
[quote=mamcx;540121]Solo hay que darle trim al string antes de pasarlo al mysql:



lo había hecho pero mágicamente funciono.... gracias por todo..
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como evitar borrar los datos del form si hay error en subir archivo uper PHP 5 23-09-2016 18:01:45
Error De Datos en Sentencia SQL en PHP darkamerico PHP 2 26-09-2014 17:23:34
Como subir imagen a Imageshack? The_Duke Internet 2 07-01-2010 21:01:01
Subir datos e imágenes a WEB desde aplicación local Sergio J. Internet 4 27-06-2007 13:55:25
como subir una base de datos al PDA? User_Baja_2 Varios 0 21-01-2005 17:34:11


La franja horaria es GMT +2. Ahora son las 06:19:32.


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
Copyright 1996-2007 Club Delphi