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<%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>