Foros del Web » Programando para Internet » ASP Clásico »

Importar datos desde CSV

Estas en el tema de Importar datos desde CSV en el foro de ASP Clásico en Foros del Web. Hola a todos y gracias de antemano por leerme y ayudarme. Estoy tratando de hacer una aplicacion asp que lea un CSV y que lo ...
  #1 (permalink)  
Antiguo 02/10/2014, 17:59
Avatar de focesar  
Fecha de Ingreso: abril-2005
Mensajes: 84
Antigüedad: 19 años
Puntos: 0
Información Importar datos desde CSV

Hola a todos y gracias de antemano por leerme y ayudarme.

Estoy tratando de hacer una aplicacion asp que lea un CSV y que lo suba al servidor (hasta aqui todo bien) y que una vez cargado lo lea y ejecute una insert en la base de datos de todo lo que esta en el CSV.
En primera instancia es facil, el problema lo tengo con el ultimo campo del csv que es fecha y hay que hacer operaciones posteriores con el por lo que no puedo insertarlo como string.
Cuando lo ejecuto me devuelve este error y no se que hacerle, aunque se que el problema son las fechas.

Código:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][SQL Server Native Client 10.0][SQL Server]Error al convertir una cadena de caracteres en fecha y/u hora.

/asp_csv_import/asp_csv_import2.asp, línea 56

Código ASP:
Ver original
  1. <%Option Explicit%>
  2. <html>
  3. <head>
  4. <title>Carga archivos</title>
  5. </head>
  6. <!--#include file=".asp"-->
  7. <body>
  8. <%
  9.     Dim objFSO,oInStream,sRows,arrRows
  10.     Dim Conn,strSQL,objExec, strConnection
  11.     Dim sFileName
  12.     Dim objUpload
  13.  
  14.  
  15.     '*** Se crea el objeto ***'
  16.     Set objUpload = new xelUpload
  17.  
  18.     '*** Se carga el archivo ***'
  19.     objUpload.Upload()
  20.  
  21.     '** Se obtiene el nombre ***'
  22.     sFileName = objUpload.Ficheros("file1").Nombre
  23.  
  24.     If sFileName <> "" Then
  25.         '*** Upload **'
  26.         objUpload.Ficheros("file1").GuardarComo sFileName, Server.MapPath("shotdev")
  27.  
  28.         '*** Create Object ***'
  29.         Set objFSO = CreateObject("Scripting.FileSystemObject")
  30.  
  31.         '*** Check Exist Files ***'
  32.         If Not objFSO.FileExists(Server.MapPath("shotdev/" & sFileName)) Then
  33.             Response.write("File not found.")
  34.         Else
  35.  
  36.         '*** Open Files ***'
  37.         Set oInStream = objFSO.OpenTextFile(Server.MapPath("shotdev/" & sFileName),1,False)
  38.  
  39.         '*** open Connect to Access Database ***'
  40.         Set conn = Server.CreateObject("ADODB.Connection")
  41.         Set objExec= Server.CreateObject("ADODB.recordset")
  42.  
  43.         strConnection = "Driver={SQL Server Native Client 10.0}; server=localhost; database=Jobs; uid=w; pwd=V"
  44.         conn.Open strConnection
  45.  
  46.         Do Until oInStream.AtEndOfStream
  47.         sRows = oInStream.readLine
  48.         arrRows = Split(sRows,";")
  49.             '*** Insert to table SMO3P345 ***'
  50.             strSQL = ""
  51.             strSQL = strSQL &"Insert into dbo.SMO3P345 (OST, Accion, Central, Distrito, Mov1, Mov2, Mov3, Mov4, "
  52.             strSQL = strSQL &" Mov5, Mov6, Mov7, Tipo, Telefono, Segmento, Fecha ) values "
  53.             strSQL = strSQL &"('"&arrRows(0)&"','"&arrRows(1)&"','"&arrRows(2)&"','"&arrRows(3)&"','"&arrRows(4)&"' "
  54.             strSQL = strSQL &",'"&arrRows(5)&"','"&arrRows(6)&"','"&arrRows(7)&"','"&arrRows(8)&"','"&arrRows(9)&"' "
  55.             strSQL = strSQL &",'"&arrRows(10)&"','"&arrRows(11)&"','"&arrRows(12)&"','"&arrRows(13)&"','"&arrRows(14)&"')"
  56.             objExec.open strSQL, conn, 3, 3
  57.             Set objExec = Nothing
  58.         Loop
  59.  
  60.         oInStream.Close()
  61.         Conn.Close()
  62.         Set oInStream = Nothing
  63.         Set Conn = Nothing
  64.  
  65.         End If
  66.        
  67.         Response.write ("Importacion concluida")
  68.    
  69.     End IF
  70. %>
  71. </body>
  72. </html>
__________________
El valor el hombre no es proporcional a las veces que ha triunfado, sino a las veces que se a levantado de los errores

:pensando:
  #2 (permalink)  
Antiguo 15/10/2014, 18:09
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Importar datos desde CSV

Buenas tardes

Ya intentaste convertir tu texto en fecha, con la funcion Cdate()

http://msdn.microsoft.com/en-us/libr...(v=vs.84).aspx

Saludos GRC

Etiquetas: csv, sql-server-2008
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:59.