Pessoal crei um sistema onde faço uma importação do exccel para o sql server bom ele tava funcionando beleza até ontem quando fomos importar um arquivo xls. O erro que ocrreu foi o seguinte.
Microsoft OLE DB Provider for ODBC Driverserror '80004005'
[Microsoft][ODBC Excel Driver] Numeric field overflow.
/dth/importadiaria.asp, line 226
O gozado que o erro ocorre no rs.movenext, este sistema está hospedado na locaweb.
segue o script da pagina.
<!--#include file="strCon.asp"-->
<%
dim strTitulo,strTexto,strNew, Conexao, strSql,myVal
call abreConexao()
'Cria um objeto para verficar o caminho o e nome do arquivo para importação
Set objUpload = Server.CreateObject("Dundas.Upload.2")
'Cria conexão Planilha
Set dbXLS = Server.CreateObject("ADODB.Connection")
'Começa a função para exportar o arquivo para excell
dim i
i = 0
'Configura o objeto com o tamanho do arquivo
objUpload.MaxFileSize = 2114400
objUpload.UseUniqueNames = False
strCaminho = "\DTH\PLANILHA"
objUpload.Save Server.MapPath("\DTH\PLANILHA")
strCaminho = objUpload.Files.Item("txFile").Path
'Response.Write(strCaminho)
'response.End()
'Abre o arquivo excell
dbXLS.Open "Driver=Microsoft Excel Driver (*.xls);DBQ=" & strCaminho
'Cria um array para ler os dados da planilha excell
Set rsXLS = dbXLS.OpenSchema(20)
'Posiciona o ponteiro no primeiro registro da tabela excell
rsXLS.MoveFirst
TabPrecos = rsXLS("TABLE_NAME")
SQL = "Select * from [" & tabPrecos & "]"
rsDados.open sql, dbXLS,1,1
if rsDados.recordCount>0 then
'Começa o loop para tranfirir o dados da tabela excell para o access.
While not rsDados.eof
sNoOs111=rsDados(0)
sTipo_OS=rsDados(2)
sProduto=rsdados(3)
sCliente=rsdados(4)
sEnderec=rsdados(5)
sBairro1=rsdados(6)
sCIDADE1=rsdados(7)
sCep1111=rsdados(8)
sES11111=rsdados(9)
sTipo_Re=rsdados(10)
sTermina=rsdados(11)
sPeriodo=rsdados(13)'PERIODO
sQtd_Pto=rsdados(14)'QTD PONTOS
sTr_As_T=rsdados(15)'TAREFAS ASSIST.
sRE11111=rsdados(16)'TECNICO
sEmpresa=rsdados(17)'EMPRESA
sStatus1=rsDados(18)'STATUS
sContage=rsdados(23)'CONTAGEM
sTecnico=rsdados(24)'TECNICO
sObsServ=rsDados(25)'OBS DO SERVICO
sTarefa1=rsdados(26)'TAREFAS
sDescric=rsDados(29)'DESCRICAO
sResulta=rsDados(30)'RESULTADO
sServico=rsDados(31)'SERVICO
sN111111=rsdados(34)'NO
sPacote1=rsdados(42)'PACOTE
sObserva=rsdados(43)'OBSERVACAO
sAge1111=rsdados(44)'AGE
sAltEmpr=rsdados(47)'ALTERA EMPRESA
sAltTecn=rsdados(46)'ALTERA TECNICO
sidServi=rsdados(50)'SERVICO
sNoOsGar=rsdados(51)'NO GARANTIA
sTecGara=rsDados(53)'TEC GARANTIA
if Trim(rsDados(04))<>"" then sCliente = Replace(rsDados(04),"'","´") else sCliente = rsDados(04) end if
if Trim(rsDados(05))<>"" then sEnderec = Replace(rsDados(05),"'","´") else sEnderec = rsDados(05) end if
if Trim(rsDados(06))<>"" then sBairro1 = Replace(rsDados(06),"'","´") else sBairro1 = rsDados(06) end if
if Trim(rsDados(07))<>"" then sCidade1 = Replace(rsDados(07),"'","´") else sCidade1 = rsDados(07) end if
if Trim(rsDados(08))<>"" then sCep1111 = Replace(rsDados(08),"'","´") else sCep1111 = rsDados(08) end if
if Trim(rsDados(09))<>"" then sEstado1 = Replace(rsDados(09),"'","´") else sEstado1 = rsDados(09) end if
if Trim(rsDados(10))<>"" then sTipoRes = Replace(rsDados(10),"'","´") else sTipoRes = rsDados(10) end if
if Trim(rsDados(11))<>"" then sTermina = Replace(rsDados(11),"'","´") else sTermina = rsDados(11) end if
if Trim(rsDados(13))<>"" then sPeriodo = Replace(rsDados(13),"'","´") else sPeriodo = rsDados(13) end if
if Trim(rsDados(14))<>"" then sQtd_Pto = Replace(rsDados(14),"'","´") else sQtd_Pto = rsDados(14) end if
if Trim(rsDados(15))<>"" then sTr_As_T = Replace(rsDados(15),"'","´") else sTr_As_T = rsDados(15) end if
if Trim(rsDados(25))<>"" then sObsServ = Replace(rsDados(25),"'","´") else sObsServ = rsDados(25) end if
if Trim(rsDados(26))<>"" then sTarefa1 = Replace(rsDados(26),"'","´") else sTarefa1 = rsDados(26) end if
if Trim(rsDados(29))<>"" then sDescric = Replace(rsDados(29),"'","´") else sDescric = rsDados(29) end if
if Trim(rsDados(30))<>"" then sResulta = Replace(rsDados(30),"'","´") else sResulta = rsDados(30) end if
if Trim(rsDados(42))<>"" then sPacote1 = Replace(rsDados(42),"'","´") else sPacote1 = rsDados(42) end if
if Trim(rsDados(43))<>"" then sObserva = Replace(rsDados(43),"'","´") else sObserva = rsDados(43) end if
if Trim(rsDados(47))<>"" then sAltEmpr = Replace(rsDados(47),"'","´") else sAltEmpr = rsDados(47) end if
if Trim(rsDados(46))<>"" then sAltTecn = Replace(rsDados(47),"'","´") else sAltTecn = rsDados(44) end if
if sQtd_Pto="" then sQtd_Pto=0 end if
'Procura o estado do Cliente na tabela de Estado
strSql = "Select * from tabEstados where Estado = '" & rsDados(09) & "'"
rsEstado.Open strSql, Conexao
if rsEstado.Eof then
strEstado = "São Paulo"
strSql = "Select * from tabEstados where Estado = '" & strEstado & "'"
if rsEstado.State = 1 then rsEstado.Close
rsEstado.Open strSql, Conexao
if not rsEstado.Eof then sIdEstad = rsEstado("idEstado")
else
sIdEstad = rsEstado("idEstado")
end if
rsEstado.close
'Procura a cidade do Cliente na Tabela de Cidade
strSql = "Select * from tabCidades where Cidade = '" & rsDados(7) & "'"
'response.Write(strSql)
'Response.End()
if rsCidade.State = 1 then rsCidade.Close
rsCidade.open strSql, Conexao
if Not rsCidade.Eof then sIdCidad = rsCidade("idCidade")
rsCidade.Close
'Procura se cliente já esta cadastro na tabela de Cliente e grava novo ou atualiza os dados
strSql = "Select * from tabCliente Where NomeCliente = '" & rsDados(4) & "'"
if rsCliente.state = 1 then rsCliente.close
set rsCliente = Conexao.Execute(strSql)
if rsCliente.Eof then
dim Campos
Sql = "Insert Into tabCliente (NoOs,NomeCliente,Endereco,Bairro,Cep,idCidade,IdEstado,TipoResidencia) values ("
Sql = Sql & sNoOs111 & ",'" & sCliente & "','" & sEnderec & "','" & sBairro1 & "','" & sCep1111 & "',"
Sql = Sql & sIdCidad & "," & sIdEstad & ",'" & sTipoRes & "')"
'Response.Write(sql)
'Response.End()
Conexao.Execute(Sql)
end if
'Procura o id do Cliente na tabela de Clientes
strSql = "Select * from tabCliente where NomeCliente = '" & rsDados(4) & "'"
if rsCliente.State = 1 then rsCliente.close
set rsCliente = Conexao.Execute(strSql)
IF rsCliente.Eof then sIdClie =0 else sIdClien=rsCliente("idCliente")
'Procura o id do Tipo da Os na tabela de TipoOs
strSql = "SELECT tabTipoOs.idTipoOs, tabTipoOs.Descricao FROM tabTipoOs "
strsql = strSql & " where tabTipoOs.Descricao = '" & rsDados(2) & "'"
if rsTipoOs.State = 1 then rsTipoOs.Close
rsTipoOs.Open strSql,Conexao, 1,1
if not rsTipoOs.eof then
sIdTipOs = rsTipoOs("idTipoOs")
else
strSql = "Insert into tabTipoOs (Descricao) values ('" & rsDados(2) & "')"
'response.Write(strSql)
'response.End()
Conexao.Execute(StrSql)
'Procura o id do Tipo da Os na tabela de TipoOs
strSql = "SELECT tabTipoOs.idTipoOs, tabTipoOs.Descricao FROM tabTipoOs "
strsql = strSql & " where tabTipoOs.Descricao = '" & rsDados(2) & "'"
if rsTipoOs.State = 1 then rsTipoOs.Close
rsTipoOs.Open strSql,Conexao, 1,1
if not rsTipoOs.eof then sIdTipOs = rsTipoOs("idTipoOs") end if
end if
'Procura o id do Produto na tabela de Produtos
strSql = "Select * from tabProdutos where DescricaoProduto ='" & rsDados(3) & "'"
set rsProdutos = Conexao.Execute(strSql)
if rsProdutos.eof then sIdProdu = 0 else sIdProdu = rsProdutos("idProduto") end if
strSql = "Select * from tabStatus where CODIGO = '" & rsDados(18) & "'"
set rsStatus = Conexao.Execute(StrSql)
if rsStatus.Eof then
sIdStatu = 0
elseif not rsStatus.Eof then
sIdStatu = rsStatus("idStatus")
end if
rsStatus.Close
'Procura o id do Servico
if sServico = " " then sServ ="Inst" else sServ= rsDados(50) end if
strSql = "Select * from tabServico where Codigo = '" & sServ & "'"
'Response.Write(strsql)
'Response.End()
set rsServico = Conexao.Execute(strSql)
if rsServico.eof then
sidServi = 0
elseif not rsServico.eof then
sidServi = cint(rsServico("idServico"))
end if
rsServico.close
if rsBusca.State=1 then rsBusca.Close
strSql = "Select * from tabDth where NoOs = " & sNoOs111 & " and DatCompromisso='" &(sDatComp) & "'"
rsBusca.Open strSql,Conexao,1,1
scodServ="INST"
if rsBusca.RecordCount=0then
Campos = "Terminal,Periodo,QtdPontos,TarAssisTecnico,ObsServico,Tarefa,Descricao,Resultado,Pacote,Observacao,"
campos = campos & "AGE,codservico,idServico,idStatus,ContagemDia,NoOs,idTipoOs,idProduto,idCliente,idempresa,idTecnico"
if trim(rsDados(1)) <> Null or trim(rsDados(1)) <> " " then
campos = campos & ",DatCompromisso"
end if
if trim(rsDados(12)) <> Null Or trim(rsDados(12)) <> " " then
campos = campos & ",DatSolicitada"
end if
if left(sTermina,5) = "(011)" then sTermina = "011-" & right(sTermina,8)
'Response.Write(sTermina)
'Response.end()
tabela="tabDth" 'nome da tabela que ira receber os dados
sql = "insert into " & tabela & "(" & campos & ") values ('"
sql = sql & sTermina & "','" & sPeriodo & "','" & sQtd_Pto & "','" & sTr_As_T & "','"
sql = sql & sObsServ & "','" & sTarefa1 & "','" & sDescric & "','" & sResulta & "','"
sql = sql & sPacote1 & "','" & sObserva & "','" & sAge1111 & "','" & sCodServ & "',"
sql = sql & sidServi & "," & sidStatu & "," & sContage & "," & sNoOs111 & ","
sql = sql & sIdTipOs & "," & sIdProdu & "," & sIdClien & "," & 0 & "," & 0
if trim(rsDados(1)) <> Null or trim(rsDados(1)) <> " " then
dia = day (rsDados(1))
mes = month (rsDados(1))
ano = year(rsDados(1))
sDatComp=(ano&"/"&mes&"/"&dia)
sql = sql & ",'" & (sDatComp) & "'"
end if
if trim(rsDados(12)) <> Null or trim(rsDados(12)) <> " " then
dia = day(rsdados(12))
mes = month(rsdados(12))
ano = year(rsdados(12))
sDat_sol=(ano&"/"&mes&"/"&dia)
sql = sql & ",'" & (sDat_sol) & "'"
end if
sql = sql & ")"
Conexao.Execute(sql)
end if
i = i + 1
rsDados.moveNext
wEnd
'end if
status = "O arquivo foi importado com sucesso"
end if
data = now()
dia = day(data)
mes = month(data)
ano = year(data)
sdata = ano & "/" & mes & "/" & dia
sHora = time()
status="Usuário foi salva com sucesso"
campos = "idUsuario,idEmpresa,Data,hora,Descricao"
valores = session("idUsuario") & "," & session("idEmpresa") & ",'" & sData & "','" & sHora & "','"
valores = valores & "Impora At Externa'"
strSql="insert into tabLogui (" & Campos & ") values (" & valores & ") "
Conexao.Execute(strSql)
call fechaConexao()
set rsDados=Nothing
set rsCliente=Nothing
set rsProdutos=Nothing
set rsStatus=Nothing
set rsServico=Nothing
%>
<script>document.location.href="importarxls.asp"</script>
Pergunta
Clauido José
Pessoal crei um sistema onde faço uma importação do exccel para o sql server bom ele tava funcionando beleza até ontem quando fomos importar um arquivo xls. O erro que ocrreu foi o seguinte.
O gozado que o erro ocorre no rs.movenext, este sistema está hospedado na locaweb.
segue o script da pagina.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados