Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Los moderadores, MVP y administradores podrán seguir editando, respondiendo o creando nuevos mensajes

Con idea de que puedan ayudar a responder e ir cerrando mensajes ;-)

  Foro: .NET VB Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 40647 - Importar datos .csv a una tabla SQL Server 2005 con VB 2005
IDAsuntoFechaNick 
40647 Importar datos .csv a una tabla SQL Server 2005 con VB 200522/04/08 18:38Rolvar   
Quisiera que me colabararan con el codigo para migrar un archivo con extension .csv desde un formulario de VB 2005 a una tabla que tengo creada en sql server 2005, para esto tengo un form, un textbox y dos buttom, un buttom que al dar clic me despliegue un cuadro de dialogo de buscar el archivo y otro para aceptar que en ultimas viene siendo el que me inserta los campos del archivo .csv a la tabla sql server que le direccione

Muchisimas gracias por su tiempo
IDAsuntoFechaNick 
40666 Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40647)23/04/08 09:53elGuille [MVP]   
Eso que quieres hacer no es algo que se pueda explicar en dos líneas.
En principio debes conocer el formato de ese fichero .csv, ya que no todos son iguales, lo habitual es que la primera línea tenga los nombres de las columnas de la tabla y que cada campo esté separado por una coma.
Después, el resto de líneas tendrá tantos datos como columnas haya en la primera y también usará el mismo separador.
Por tanto... debes conocer el formato y después decidir cómo leerlo.
Por ejemplo, el contenido podría ser algo así:
"Nombre", "Correo", "Fecha"
"Guillermo", "[email protected]", "23/04/2008"
"Pepe", "[email protected]", "22/04/2008"

Si tienes una tabla que tenga esos campos, puedes leerlos y hacer un select para que se incluyan y así poder actualizar el DataTable con el resto de filas de datos leídas.
Pero ya te digo que no es algo trivial, vamos que yo sepa no hay nada que lo haga automáticamente, debes escribirlo tú mismo.
Yo tengo por ahí un ejemplo que nunca he llegado a terminar... a ver si un día de estos me pongo y lo acabo rie
De todas formas, en VB2005 y posterior hay clases que te permiten leer ficheros con un formato indicado, no lo he probado nunca, pero lo mismo es fácil usando esas clases...
¡Suerte!

   elGuille


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40675 Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40647)23/04/08 13:43Rolvar   
Gracias, pues es que ya tengo parte del codigo armado pero no se donde tengo el problema por que me esta enviando una excepcion.. pero la verdad no tengo idea de en q parte es.. te envio el codigo para que por fis me ayudes a revisar en que es lo que estoy fallando

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
Me.dlgAbrir.Title = "Seleccionar Archivo a Cargar de la administradora"
Me.dlgAbrir.InitialDirectory = "C:\"
Me.dlgAbrir.Filter = "Archivo Plano (*.CSV)|*.CSV|Todos Los Archivos (*.*)|*.*"
If dlgAbrir.ShowDialog = System.Windows.Forms.DialogResult.OK Then
ruta1 = dlgAbrir.FileName 'creo que en esta linea es donde nace el error pero no estoy seguro
FileCopy(ruta1, Application.StartupPath & "\" & IO.Path.GetFileName(dlgAbrir.FileName))
ruta1 = IO.Path.GetFileName(dlgAbrir.FileName)
End If
Catch
End Try
dir = Mid(ruta1, 1, (ruta1.LastIndexOf("\")) + 1) ' justo aqui me esta enviando un error...
archivo = Mid(ruta1, (ruta1.LastIndexOf("\")) + 1, ruta1.Trim.Length)
Dim oConn As New OleDb.OleDbConnection
Dim oCmd As New OleDb.OleDbCommand
Dim oDa As New OleDb.OleDbDataAdapter
Dim oDs As New DataSet
Dim oDr As DataRow
oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dir & ";Extended Properties='text;HDR=Yes;FMT=Delimited'"
oConn.Open()
TextBox3.Text = archivo
oCmd.CommandText = "SELECT * FROM " & archivo & ""
oCmd.Connection = oConn
oDa.SelectCommand = oCmd
oDa.Fill(oDs, "'" & TextBox3.Text & "'")
For Each oDr In oDs.Tables("'" & TextBox3.Text & "'").Rows
Save("Insert into tabla1 values ('" & oDr(0) & "','" & oDr(1) & "', ...... '" & oDr(24) & "' )")
Next
End Sub

jeje que pena lo extenso pero creeme que me he matado el coco tratando de resolverlo y no encuentro como te agradeceria inmensamente si ves algo que yo no veo.. muchisimas saludos


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40726 Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40675)24/04/08 10:36elGuille [MVP]   
Ese error te da porque haces esto:
ruta1 = IO.Path.GetFileName(dlgAbrir.FileName)
...
dir = Mid(ruta1, 1, (ruta1.LastIndexOf("\")) + 1) ' justo aqui me esta enviando un error...

Es decir, ruta1 solo tiene el nombre del fichero, y en ese nombre no hay barras /

   elGuille


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40734 Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40726)24/04/08 13:26Rolvar   
Si.. ese es el error.. gracias.. otra preguntica antes de terminar la consulta.. como hago para obtener el directorio completo con que propiedad del opendialogfile puedo obtener el directorio.. muchisimas gracias de nuevo.. saludos


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40767 Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40734)24/04/08 19:41elGuille [MVP]   
Con ninguna, pero puedes usar los métodos de la clase Path, GetDirectory creo que es.

Aquí tienes algunos ejemplos de las clases para manejar directorios y demás:
http://www.elguille.info/NET/dotnet/sistema_archivo.htm
Y aquí sobre esto que te comento:
http://www.elguille.info/NET/dotnet/apppath.htm

   elGuille


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40815 Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40767)25/04/08 15:47Rolvar   
muchisimas gracias, voy a leer los tutoriales cualquier cosa te estare comentando.. gracias

[Editado: elGuille [MVP], 25/04/2008 16:02:26, De nada, pero creo que este mensaje NO responde a la pregunta... creo... triste
Pero lo dejo como finalizado... total... guinio]


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40979 Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40647)30/04/08 17:22Onixbac   
Hola estuve leyendo el problema que tienes y me gustaria saver si ya pudiste hacer tu proyecto de importacion, es que yo tengo el mismo caso o parecido.

Te cuento yo apenas empiezo en aprender VB 2005 pero aver si me puedes ayudar lo que pasa es que estoy tratando de hacer es importar un archivo de excel a sql2005 claro desde un form me gustaria que me ayudaras o me dijiras como le hago,bueno me despido
saludos




Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
42082 Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40815)17/06/08 20:53Rolvar   
Guille tenias razon, me quedaron dudas, hace tiempo descargue un ejemplo con un cuadro de dialogo una caja de texto y un boton.. lo que hacia esta aplicacion era algo similar solo que tomaba el .txt y lo colocaba en la caja de texto, pero ya no lo encuentro ademas no recuerdo si el ejemplo estaba en C# o en VB, tienes uno que me puedas pasar por favor..


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2026  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 09/06/2026 13:57:08 GMT