Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-02-2021
Arturo.Molina Arturo.Molina is offline
Miembro
 
Registrado: feb 2018
Posts: 28
Poder: 0
Arturo.Molina Va por buen camino
Importar fichero CSV en SQLite en tiempo de ejecución

Hola a todos,
estoy usando Lazarus para crear un programa que maneja una base de datos SQLite3 sobre Windows.

A través del método ExecuteDirect puedo crear sin problemas en tiempo de ejecución la base de datos que usará mi programa.

El problema es que me pasan los datos para una de las tablas en un archivo CSV que se debe incorporar a la base de datos en el PC donde se va a ejecutar el programa, así que debo importar los datos en tiempo de ejecución.

He intentado hacerlo a través de un TProcess con este código:


Código Delphi [-]
UnProceso := TProcess.Create(nil);

UnProceso.Executable := 'cmd';

UnProceso.Parameters.Add( 'sqlite3.exe' );

UnProceso.Options := UnProceso.Options + [poWaitOnExit];

UnProceso.Execute;

UnProceso.Free;


Esto me abre una ventana de comandos cmd de Windows, pero no llega a ejecutar el programa sqlite3.exe (está en el mismo directorio del programa).

Y, además, si se ejecutara el programa sqlite3.exe, se activa el "modo comando" de SQLite ¿como le paso a la ventana cmd la orden para importar los datos?
Código SQL [-]
.import libros.csv listado


Saludos
Responder Con Cita
  #2  
Antiguo 22-02-2021
Arturo.Molina Arturo.Molina is offline
Miembro
 
Registrado: feb 2018
Posts: 28
Poder: 0
Arturo.Molina Va por buen camino
Vaya, he duplicado el mensaje, lo siento.


Algún Admin que borre uno de ellos.


Saludos
Responder Con Cita
  #3  
Antiguo 22-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
Para ejecutar comandos directamente de un archivo:

https://database.guide/5-ways-to-run...m-file-sqlite/

y pasando el sql directo:

Código SQL [-]
sqlite3 example.db 'SELECT * FROM table;'

P.D: sqlite en versiones reciente tiene de "fabrica" un modulo de lectura csv, con su funcionalidad de tablas virtuales:

https://www.sqlite.org/csv.html
__________________
El malabarista.
Responder Con Cita
  #4  
Antiguo 23-02-2021
Arturo.Molina Arturo.Molina is offline
Miembro
 
Registrado: feb 2018
Posts: 28
Poder: 0
Arturo.Molina Va por buen camino
Muchas gracias mamcx, he usado la opción de ejecutar directamente desde un archivo la importación.


Saludos
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
Importar fichero de Texto delimitado por comas en una tabla SQLite kaiserilich Varios 2 22-06-2020 11:58:04
Ejecutar un fichero en msdos y ver en un progress el tiempo de ejecucion juank1971 API de Windows 6 31-08-2013 23:36:45
Importar OCX en tiempo de ejecucion b3nshi Varios 0 09-03-2010 20:41:23
Importar fichero XML cincosoft OOP 1 08-02-2009 10:29:58


La franja horaria es GMT +2. Ahora son las 21:44:28.


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