| ID | Asunto | Fecha | Nick | |
| 40647 | Importar datos .csv a una tabla SQL Server 2005 con VB 2005 | 22/04/08 18:38 | Rolvar | |  |
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 |
|
| ID | Asunto | Fecha | Nick | |
| 40666 | Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40647) | 23/04/08 09:53 | elGuille [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  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. |
|
| ID | Asunto | Fecha | Nick | |
| 40675 | Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40647) | 23/04/08 13:43 | Rolvar | | |
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. |
|
| ID | Asunto | Fecha | Nick | |
| 40726 | Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40675) | 24/04/08 10:36 | elGuille [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. |
|
| ID | Asunto | Fecha | Nick | |
| 40734 | Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40726) | 24/04/08 13:26 | Rolvar | | |
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. |
|
| ID | Asunto | Fecha | Nick | |
| 40767 | Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40734) | 24/04/08 19:41 | elGuille [MVP] | | |
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 40815 | Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40767) | 25/04/08 15:47 | Rolvar | |  |
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...  Pero lo dejo como finalizado... total...  ]
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 40979 | Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40647) | 30/04/08 17:22 | Onixbac | | |
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. |
|
| ID | Asunto | Fecha | Nick | |
| 42082 | Re: Importar datos .csv a una tabla SQL Server 2005 con VB 2005 (Resp: 40815) | 17/06/08 20:53 | Rolvar | | |
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. |