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
<%Option Explicit%> <html> <head> <title>Carga archivos</title> </head> <!--#include file=".asp"--> <body> <% Dim objFSO,oInStream,sRows,arrRows Dim Conn,strSQL,objExec, strConnection Dim sFileName Dim objUpload '*** Se crea el objeto ***' Set objUpload = new xelUpload '*** Se carga el archivo ***' objUpload.Upload() '** Se obtiene el nombre ***' sFileName = objUpload.Ficheros("file1").Nombre If sFileName <> "" Then '*** Upload **' objUpload.Ficheros("file1").GuardarComo sFileName, Server.MapPath("shotdev") '*** Create Object ***' Set objFSO = CreateObject("Scripting.FileSystemObject") '*** Check Exist Files ***' If Not objFSO.FileExists(Server.MapPath("shotdev/" & sFileName)) Then Response.write("File not found.") Else '*** Open Files ***' Set oInStream = objFSO.OpenTextFile(Server.MapPath("shotdev/" & sFileName),1,False) '*** open Connect to Access Database ***' Set conn = Server.CreateObject("ADODB.Connection") Set objExec= Server.CreateObject("ADODB.recordset") strConnection = "Driver={SQL Server Native Client 10.0}; server=localhost; database=Jobs; uid=w; pwd=V" conn.Open strConnection Do Until oInStream.AtEndOfStream sRows = oInStream.readLine arrRows = Split(sRows,";") '*** Insert to table SMO3P345 ***' strSQL = "" strSQL = strSQL &"Insert into dbo.SMO3P345 (OST, Accion, Central, Distrito, Mov1, Mov2, Mov3, Mov4, " strSQL = strSQL &" Mov5, Mov6, Mov7, Tipo, Telefono, Segmento, Fecha ) values " strSQL = strSQL &"('"&arrRows(0)&"','"&arrRows(1)&"','"&arrRows(2)&"','"&arrRows(3)&"','"&arrRows(4)&"' " strSQL = strSQL &",'"&arrRows(5)&"','"&arrRows(6)&"','"&arrRows(7)&"','"&arrRows(8)&"','"&arrRows(9)&"' " strSQL = strSQL &",'"&arrRows(10)&"','"&arrRows(11)&"','"&arrRows(12)&"','"&arrRows(13)&"','"&arrRows(14)&"')" objExec.open strSQL, conn, 3, 3 Set objExec = Nothing Loop oInStream.Close() Conn.Close() Set oInStream = Nothing Set Conn = Nothing End If Response.write ("Importacion concluida") End IF %> </body> </html>