Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Martinsrj

[Resolvido] [Erro] ODBC Drivers error

Recommended Posts

Olá pessoal, tudo bom?

Ontem postei dúvidas nesse link do Fórum

http://forum.imasters.com.br/index.php...p;#entry1325154

Hoje estou com dificuldade com o seguinte erro:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

 

[MySQL][ODBC 5.1 Driver][mysqld-5.1.35-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

 

/conteudo/grupo_demanda/cod/ins.dados.asp, line 31

OBS.: a linha 31 é essa: Set rsInsere = conbd_gd1.Execute(strINS)

 

Codigo da pagina que trata a insercao de dados é essa:

ins.dados.asp

<% Option Explicit %>
<!--#Include file="conexao.asp"-->
<%
Dim conbd_gd1, rsInsere, strINS, var_status, var_id, var_sistema, var_descricao, var_cod_grupo, var_observacao, var_fase, var_plano_entrega, var_dt_inc

var_status = TRIM(Request.Form("txt_status"))
var_id = TRIM(Request.Form("txt_id"))
var_sistema = TRIM(Request.Form("txt_sistema"))
var_descricao = TRIM(Request.Form("txt_descricao"))
var_cod_grupo = 1
var_observacao = TRIM(Request.Form("txt_observacao"))
var_fase = TRIM(Request.Form("txt_fase"))
var_plano_entrega = TRIM(Request.Form("txt_plano_entrega"))
var_dt_inc = date

strINS = "INSERT into tab_dados "
strINS = strINS & "(status, id, sistema, descricao, cod_grupo, observacao, fase, plano_entrega, dt_inc)"

strINS = strINS & "VALUES ('" & var_status & "',"
strINS = strINS & "'" & var_id & "',"
strINS = strINS & "'" & var_sistema & "'," 
strINS = strINS & "'" & var_descricao & "'," 
strINS = strINS & var_cod_grupo & ","
strINS = strINS & "'" & var_observacao & "',"
strINS = strINS & "'" & var_fase & "',"
strINS = strINS & "'" & var_plano_entrega & "',"
strINS = strINS & "'" & var_dt_inc & "',"
strINS = strINS & ")"

Call AbreConexao
Set rsInsere = conbd_gd1.Execute(strINS)
'Comentário-- Verifica o sucesso da operação, baseado na variavel 'err'
		if err.number = 0 then
			response.write ("Cadastro realizado com sucesso")
			'--Response.Write "<font face='arial' size'3' color='green'><b>O ID: " & var_id & " foi incluído com sucesso!</font></b><br>
		Else
			response.write ("Erro: " + err.description)
		End if

rsInsere.close
Call FechaConexao
set rsInsere = Nothing
%>

Aqui segue a tabela:

cod_dados			int(10)			   (NULL)				NO	  PRI	 (NULL)					
status				   varchar(100)	 utf8_general_ci	YES			 (NULL)				  
id						 varchar(10)	   utf8_general_ci	YES			 (NULL)					
sistema				varchar(20)		utf8_general_ci	YES			 (NULL)					
descricao			  text				   utf8_general_ci	YES			 (NULL)					
cod_grupo			varchar(12)		utf8_general_ci	YES			 (NULL)					
observacao		   text				   utf8_general_ci	YES			 (NULL)					
fase					 varchar(20)		utf8_general_ci	YES			 (NULL)					
plano_entrega	  text					utf8_general_ci	YES			 (NULL)					
dt_inc				  datetime			(NULL)				  YES			 (NULL)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altera Set rsInsere = conbd_gd1.Execute(strINS) para:

 

Response.Write strINS : Response.End

 

Posta o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

INSERT into tab_dados (status, id, sistema, descricao, cod_grupo, observacao, fase, plano_entrega, dt_inc)VALUES ('Ativo','40','Mobile','Clientes que fizeram port-out e desejam retornar via port-in no período de quarentena.',1,'Planejamento informado em 24/06','Em correção','Homologação: 19/07 Produção: 25/07','7/2/2009',)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mano tente assim

 

strINS = strINS & "VALUES ('" & var_status & "',"
strINS = strINS & "'" & var_id & "',"
strINS = strINS & "'" & var_sistema & "',"
strINS = strINS & "'" & var_descricao & "',"
strINS = strINS & "'" & var_cod_grupo & "',"
strINS = strINS & "'" & var_observacao & "',"
strINS = strINS & "'" & var_fase & "',"
strINS = strINS & "'" & var_plano_entrega & "',"
strINS = strINS & "'" & var_dt_inc & "',"
strINS = strINS & ")"

E lá no início do teu code coloque isso

 

Response.Charset="ISO-8859-1"

Veja se funfa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique a ortografia.pode ter um Invalid column name 'sua_coluna'. A coluna a qual você se refere na Base de Dados não foi encontrada. .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Patrique!

A mensagem de erro que aparece e essa:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

 

[MySQL][ODBC 5.1 Driver][mysqld-5.1.35-community]Incorrect datetime value: '7/2/2009' for column 'dt_inc' at row 1

 

/conteudo/grupo_demanda/cod/ins.dados.asp, line 31

 

OBS.: a linha 31 e essa: conbd_gd1.Execute(strINS)

Segue o codigo da pagina:

<% Option Explicit %>
<!--#Include file="conexao.asp"-->
<%
Dim conbd_gd1, rsInsere, strINS, var_status, var_id, var_sistema, var_descricao, var_cod_grupo, var_observacao, var_fase, var_plano_entrega, var_dt_inc

var_status = TRIM(Request.Form("txt_status"))
var_id = TRIM(Request.Form("txt_id"))
var_sistema = TRIM(Request.Form("txt_sistema"))
var_descricao = TRIM(Request.Form("txt_descricao"))
var_cod_grupo = 1
var_observacao = TRIM(Request.Form("txt_observacao"))
var_fase = TRIM(Request.Form("txt_fase"))
var_plano_entrega = TRIM(Request.Form("txt_plano_entrega"))
var_dt_inc = date

strINS = "INSERT into tab_dados "
strINS = strINS & "(status, id, sistema, descricao, cod_grupo, observacao, fase, plano_entrega, dt_inc) "

strINS = strINS & "VALUES ('" & var_status & "',"
strINS = strINS & "'" & var_id & "',"
strINS = strINS & "'" & var_sistema & "'," 
strINS = strINS & "'" & var_descricao & "'," 
strINS = strINS & var_cod_grupo & ","
strINS = strINS & "'" & var_observacao & "',"
strINS = strINS & "'" & var_fase & "',"
strINS = strINS & "'" & var_plano_entrega & "',"
strINS = strINS & "'" & var_dt_inc & "'"
strINS = strINS & ")"

Call AbreConexao
conbd_gd1.Execute(strINS)
'response.write strINS
'response.end()

'Comentário-- Verifica o sucesso da operação, baseado na variavel 'err'
	if err.number = 0 then
		response.write ("Cadastro realizado com sucesso")
		'--Response.Write "<font face='arial' size'3' color='green'><b>O ID: " & var_id & " foi incluído com sucesso!</font></b><br>
		Else
			response.write ("Erro: " + err.description)
		End if

rsInsere.close
Call FechaConexao
set rsInsere = Nothing
%>
Aqui vai a parte da tela do minha tabela:

Visite meu site

 

 

Mano tente assim

 

strINS = strINS & "VALUES ('" & var_status & "',"
strINS = strINS & "'" & var_id & "',"
strINS = strINS & "'" & var_sistema & "',"
strINS = strINS & "'" & var_descricao & "',"
strINS = strINS & "'" & var_cod_grupo & "',"
strINS = strINS & "'" & var_observacao & "',"
strINS = strINS & "'" & var_fase & "',"
strINS = strINS & "'" & var_plano_entrega & "',"
strINS = strINS & "'" & var_dt_inc & "',"
strINS = strINS & ")"

E lá no início do teu code coloque isso

 

Response.Charset="ISO-8859-1"

Veja se funfa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça um teste simples, troque este

 

strINS = strINS & "'" & var_dt_inc & "'"

por este

 

strINS = strINS & "'2009-07-02 22:11:00'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Patrique, fiz o que você mandou. Verifiquei no banco e realizado com sucesso a inclusao, porem aparece ainda a seguinte mensagem:

 

Cadastro realizado com sucesso

Microsoft VBScript runtime error '800a01a8'

 

Object required: ''

 

/conteudo/grupo_demanda/cod/ins.dados.asp, line 44

 

 

 

 

faça um teste simples, troque este

 

strINS = strINS & "'" & var_dt_inc & "'"

por este

 

strINS = strINS & "'2009-07-02 22:11:00'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

conexao.asp

<%
sub AbreConexao
Dim Servidor, usuario, senha, banco, string
 servidor = "localhost"
 usuario  = "root"
 senha	= "************************"
 banco	= "bd_gd1"

 string = "driver={MySQL ODBC 5.1 Driver};server=" & servidor & ";"
 string = string & "uid=" & usuario & ";"
 string = string & "pwd=" & senha & ";"
 string = string & "database=" & banco

 Set conbd_gd1 = Server.CreateObject("ADODB.Connection")
 conbd_gd1.ConnectionString = string
 conbd_gd1.Open
end sub

sub FechaConexao
conbd_gd1.close
set conbd_gd1 = nothing
end sub
%>

cara posta o code ae do conexao.asp tem um probleminha no FechaConexao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei dessa forma strINS = strINS & ")""

Apareceu o seguinte erro:

Microsoft VBScript compilation error '800a0409'

 

Unterminated string constant

 

/conteudo/grupo_demanda/cod/ins.dados.asp, line 29

 

strINS = strINS & ")""

----------------------^

 

Uma duvida que estou. Para nao ter dado o erro de data e incluido no banco foi utilizado isso: strINS = strINS & "'2009-07-02 22:11:00'"

Como que faco atra de funcoes do asp que o formato para inclusao seja dessa forma.

 

 

Cara ta aqui olha

 

strINS = strINS & ")""

 

tava faltando uma aspas... testa ae me me fala se foi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara mude lá no mysql o campo dt_inc que esta como datetime para date depois utilize uma função para tratar a data

 

esta função aqui, ela é de autoria do ted

 

<%
Function ConverterDataBanco(ConDataBanco)
	ConDataBanco = Year(ConDataBanco) &"-"& Right("0"&Month(ConDataBanco),2) &"-"& Right("0"&Day(ConDataBanco),2)
	
	ConverterDataBanco = ConDataBanco
End Function
%>

para chamar a função faça o seguinte, troque

 

isso

 

var_dt_inc = date

 

por isso

 

var_dt_inc = ConverterDataBanco(date)

 

Retire aquela aspas que eu havia solicitado anteriormente, faça o teste sem inserir aquela data manualmente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Patrique, boa tarde!

Fiz algumas motificações no codigo e agora está cadastrando normalmente, inclusive no campo data com o seguinte formato: 2009-07-03 12:42:07

porem dando esse erro em tela:

Cadastro realizado com sucesso

Microsoft VBScript runtime error '800a01a8'

 

Object required: ''

 

/conteudo/grupo_demanda/cod/ins.dados.asp, line 55

 

OBS.: a linha 55 é essa: rsInsere.close

Segue o codigo atualizado:

<% Option Explicit %>
<!--#Include file="conexao.asp"-->
<%
Dim conbd_gd1, rsInsere, strINS, var_status, var_id, var_sistema, var_descricao, var_cod_grupo, var_observacao, var_fase, var_plano_entrega, var_dt_inc, data, hora, Minuto, Segundo

var_status = TRIM(Request.Form("txt_status"))
var_id = TRIM(Request.Form("txt_id"))
var_sistema = TRIM(Request.Form("txt_sistema"))
var_descricao = TRIM(Request.Form("txt_descricao"))
var_cod_grupo = 1
var_observacao = TRIM(Request.Form("txt_observacao"))
var_fase = TRIM(Request.Form("txt_fase"))
var_plano_entrega = TRIM(Request.Form("txt_plano_entrega"))

Function ConvertDataMySQL(ConDataBanco)   
	ConDataBanco = Year(ConDataBanco) &"-"& Right("0"&Month(ConDataBanco),2) &"-"& Right("0"&Day(ConDataBanco),2)	
	ConvertDataMySQL = ConDataBanco  
End Function   
'Response.Write(ConvertDataMySQL(Date()))	

hora	= Hour(time)
Minuto  = Right("0"&Minute(time),2)
Segundo = Second(time)
data = (ConvertDataMySQL(Date())) & " " & hora & ":" & Minuto & ":" & Segundo


strINS = "INSERT into tab_dados "
strINS = strINS & "(status, id, sistema, descricao, cod_grupo, observacao, fase, plano_entrega, dt_inc) "

strINS = strINS & "VALUES ('" & var_status & "',"
strINS = strINS & "'" & var_id & "',"
strINS = strINS & "'" & var_sistema & "'," 
strINS = strINS & "'" & var_descricao & "'," 
strINS = strINS & var_cod_grupo & ","
strINS = strINS & "'" & var_observacao & "',"
strINS = strINS & "'" & var_fase & "',"
strINS = strINS & "'" & var_plano_entrega & "',"
strINS = strINS & "'" & data & "'"
strINS = strINS & ")"


Call AbreConexao
conbd_gd1.Execute(strINS)
'response.write strINS
'response.end()

'Comentário-- Verifica o sucesso da operação, baseado na variavel 'err'
	if err.number = 0 then
		response.write ("Cadastro realizado com sucesso")
		'--Response.Write "<font face='arial' size'3' color='green'><b>O ID: " & var_id & " foi incluído com sucesso!</font></b><br>
		Else
			response.write ("Erro: " + err.description)
		End if

rsInsere.close
Call FechaConexao
set rsInsere = Nothing
%>

 

 

Cara mude lá no mysql o campo dt_inc que esta como datetime para date depois utilize uma função para tratar a data

 

esta função aqui, ela é de autoria do ted

 

<%
Function ConverterDataBanco(ConDataBanco)
	ConDataBanco = Year(ConDataBanco) &"-"& Right("0"&Month(ConDataBanco),2) &"-"& Right("0"&Day(ConDataBanco),2)
	
	ConverterDataBanco = ConDataBanco
End Function
%>

para chamar a função faça o seguinte, troque

 

isso

 

var_dt_inc = date

 

por isso

 

var_dt_inc = ConverterDataBanco(date)

 

Retire aquela aspas que eu havia solicitado anteriormente, faça o teste sem inserir aquela data manualmente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido Patrique com o codigo abaixo:

<% Option Explicit %>
<!--#Include file="conexao.asp"-->
<%
Dim conbd_gd1, rsInsere, strINS, var_status, var_id, var_sistema, var_descricao, var_cod_grupo, var_observacao, var_fase, var_plano_entrega, var_dt_inc, data, hora, Minuto, Segundo

var_status = TRIM(Request.Form("txt_status"))
var_id = TRIM(Request.Form("txt_id"))
var_sistema = TRIM(Request.Form("txt_sistema"))
var_descricao = TRIM(Request.Form("txt_descricao"))
var_cod_grupo = 1
var_observacao = TRIM(Request.Form("txt_observacao"))
var_fase = TRIM(Request.Form("txt_fase"))
var_plano_entrega = TRIM(Request.Form("txt_plano_entrega"))

Function ConvertDataMySQL(ConDataBanco)   
	ConDataBanco = Year(ConDataBanco) &"-"& Right("0"&Month(ConDataBanco),2) &"-"& Right("0"&Day(ConDataBanco),2)	
	ConvertDataMySQL = ConDataBanco  
End Function   
'Response.Write(ConvertDataMySQL(Date()))	

hora	= Hour(time)
Minuto  = Right("0"&Minute(time),2)
Segundo = Second(time)
data = (ConvertDataMySQL(Date())) & " " & hora & ":" & Minuto & ":" & Segundo


strINS = "INSERT into tab_dados "
strINS = strINS & "(status, id, sistema, descricao, cod_grupo, observacao, fase, plano_entrega, dt_inc) "

strINS = strINS & "VALUES ('" & var_status & "',"
strINS = strINS & "'" & var_id & "',"
strINS = strINS & "'" & var_sistema & "'," 
strINS = strINS & "'" & var_descricao & "'," 
strINS = strINS & var_cod_grupo & ","
strINS = strINS & "'" & var_observacao & "',"
strINS = strINS & "'" & var_fase & "',"
strINS = strINS & "'" & var_plano_entrega & "',"
strINS = strINS & "'" & data & "'"
strINS = strINS & ")"



Call AbreConexao
conbd_gd1.Execute(strINS)
'response.write strINS
'response.end()

'Comentário-- Verifica o sucesso da operação, baseado na variavel 'err'
	if err.number = 0 then
		response.write ("Cadastro realizado com sucesso")
		'--Response.Write "<font face='arial' size'3' color='green'><b>O ID: " & var_id & " foi incluído com sucesso!</font></b><br>
		Else
			response.write ("Erro: " + err.description)
		End if

Call FechaConexao
%>

Velho coloque este rsInsere.close abaixo do Call FechaConexao e faça o teste ae.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.