Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago Paschoalin

Estou LOUCO !!!! OLE DB e ODBC

Recommended Posts

Olá para todos, estou ficando louco já com isso já fiz de tudo imaginável com meu IIS WinXP SP2 (5.1) mas não consigo configurar OLE DB e ODBC nele, sempre dá esse erro abaixo:É um sistema bem simples de noticias em ASP com Access !* Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][Driver ODBC para Microsoft Access] A operação deve usar uma consulta atualizável./noticias_br_Ori/adicionar_noticia.asp, line 24Na linha 24 do meu ASP está assim:Conn.Execute sqlStringE a programação usada no ASP para conexão é essa:'Faço a conexão com o bdcnpath="DBQ=" & Server.MapPath("noticias.mdb") DataSource = "Driver={Microsoft Access Driver (*.mdb)}; " & cnpath Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open DataSource'Adiciono no bdsqlString = "INSERT INTO Noticias"&_ "(manchete, fonte, imagem, noticia) VALUES ( '" & manchete & "', '" & fonte & "', '" & imagem & "', '" & noticia & "')"Conn.Execute sqlStringPor Favor, alguem me dê uma LUZZZZ !!!!!!!!!!!!!!!!!!!!!!Grato desde já !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mo link:

http://www.babooforum.com.br/idealbb/view.asp?topicID=63224

 

Achei esta explicações:

 

- Permissões:

Veja se você não alterou a pasta aonde estavam os documentos ASP e o Banco de Dados para um lugar que não de permissão de alteração, o direitorio padrão do IIS é "X":\inetpub\wwwroot\nome_da_pasta, ou se você não modificou as permissões da pasta.

Se o site estiver em um provedor, ligue para o provedor e peça para eles verificarem se a pasta aonde estão os arquivos .asp e .mdb tem as permissões nessesárias.

 

- Cursor:

Veja se o RecordSet está usando os tipos de cursor corretos. Sintaxe: rs.Open stringSql, Conexao, 3, 3

Obs: 3, 3 são os tipos de cursores que você não presisa se preocupar...

 

- Autonumeração

Você está inserindo valores num campo de autonumeração? Se está, o ASP retorna essa mensagem de erro, pois não há como atualizar os dados desse típo de campo.

 

 

Acho que pode ser problemas de permissão.

 

jothaz

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, deu certo, era problema de permissão... bom pelo menos eu fui na pasta e dei permissão total para todos os usuários que tinha e agora sim adicionou, POREM (huahuahauhau), agora ele não está apagando noticias, devido ao seguinte erro:Tipo de erro:Erro de tempo de execução do Microsoft VBScript (0x800A01A8)Objeto necessário: ''/noticias_br_Ori/apagarnoticia.asp, line 10E a programação feita é:01 <%@ Language=VBScript %>02 <%response.buffer=true%>03 <%04 cnpath="DBQ=" & Server.MapPath("noticias.mdb") 05 DataSource = "Driver={Microsoft Access Driver (*.mdb)}; " & cnpath 06 07 Set Conn = Server.CreateObject("ADODB.Connection") 08 09 Conn.Open DataSource10 con.Execute("delete*from Noticias where id="&Request.querystring("id")&"")11 Response.Redirect"admin.asp"12 %>Poderia me ajudar ?????????Grato desde já !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

erro de digitação9 Conn.Open DataSource10 con.Executevoce declara Conn e usa conacredito ser apenas isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

erro de digitação9 Conn.Open DataSource10 con.Executevoce declara Conn e usa conacredito ser apenas isso

HUahuahua.... era isso mesmo...Mas cara, tá tudo começando a dar errado, tô ficando louco... tava funcionando normal, arrumei a declaração CONN e beleza, mas agora para editar f****.... um erro que não estava dando antes de colocar login...Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'id='./Sistema - Programa/editando.asp, line 1616 Conn.Execute("update Noticias set manchete='"&Request.Form("manchete")&"',fonte='"&Request.Form("fonte")&"',imagem='"&Request.Form("imagem")&"',noticia='"&Request.Form("noticia")&"',datadia='"&Request.Form("datadia")&"' where id="&Request.Form("id")&"")Cara to ficando perdido... Se puder me dar uma força... Grato desde já !

Compartilhar este post


Link para o post
Compartilhar em outros sites

manchete='"&Request.Form("manchete")&"',fonte='"&Request.Form("fonte")&"',imagem='"&Request.Form("imagem")&"',noticia='"&Request.Form("noticia")&"',datadia='"&Request.Form("datadia")&"' where id="&Request.Form("id")&"")

É erro na contrução da expressão:

 

<%

Esta assim:

manchete='"&Request.Form("manchete")&"',fonte='"&Request.Form("fonte")&"',imagem='"&Request.Form("imagem")&"',noticia='"&Request.Form("noticia")&"',datadia='"&Request.Form("datadia")&"' where id="&Request.Form("id")&"")

 

Tente assim:

manchete="'&Request.Form("manchete")&'",fonte="'&Request.Form("fonte")&'",imagem="'&Request.Form("imagem")&'",noticia="'&Request.Form("noticia")&'",datadia="'&Request.Form("datadia")&'" where id="&Request.Form("id")&"")

 

%>

 

Post o select todo.

 

E esclareça q que você deseja.

 

Jothaz

Compartilhar este post


Link para o post
Compartilhar em outros sites

a página editando.asp está assim:<%@ Language=VBScript %><% response.buffer="true" %><% if session("login") = "" Thenresponse.redirect("default.asp")end if %><!--#Include file="conecta.asp"--><%cnpath="DBQ=" & Server.MapPath("noticias.mdb") DataSource = "Driver={Microsoft Access Driver (*.mdb)}; " & cnpath Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open DataSourceConn.Execute("update Noticias set manchete='"&Request.Form("manchete")&"',fonte='"&Request.Form("fonte")&"',imagem='"&Request.Form("imagem")&"',noticia='"&Request.Form("noticia")&"',datadia='"&Request.Form("datadia")&"' where id="&Request.Form("id")&"")Response.Redirect"admin.asp"%>mas o que é estranho, é que antes de eu colocar "languase, response.buffer, session e include" estava funcionando correto !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque isto:

<%@ Language=VBScript %><% response.buffer="true" %>

Por isso:

<%@ Language=VBScript %><% response.buffer=true %>

response.buffer é boolean.

 

jothaz

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque isto:

<%@ Language=VBScript %><% response.buffer="true" %>
Por isso:
<%@ Language=VBScript %><% response.buffer=true %>
response.buffer é boolean.jothaz
Jathaz, fiz a alteração, mas o erro continua o mesmo ! Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'id='./Sistema - Programa/editando.asp, line 16Eu consigo adicionar noticia, apagar noticia mas para edita-lá dá isso !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altera a criação da string sql para isto:

 

<% dim id			dim manchete	dim fonte		dim imagem		dim noticia		dim datadia		dim sql id			= Request.Form("id")manchete	= Request.Form("manchete")fonte		= Request.Form("fonte")imagem		= Request.Form("imagem")noticia		= Request.Form("noticia")datadia		= Request.Form("datadia")sql = "update Noticias set manchete='" & manchete &"',fonte='" & fonte & "'"sql = sql & ",imagem='" & imagem & "',noticia='" & noticia & "'"sql = sql & ",datadia='" & datadia & "' where id=" & id Response.write sqlConn.Execute(sql)

Acho q tinha um erro na concatenção dos '.

 

Só dei uma organizada e mandei imprimir o conteúdo de sql e esta ok.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altera a criação da string sql para isto:

<% dim id			dim manchete	dim fonte		dim imagem		dim noticia		dim datadia		dim sql id			= Request.Form("id")manchete	= Request.Form("manchete")fonte		= Request.Form("fonte")imagem		= Request.Form("imagem")noticia		= Request.Form("noticia")datadia		= Request.Form("datadia")sql = "update Noticias set manchete='" & manchete &"',fonte='" & fonte & "'"sql = sql & ",imagem='" & imagem & "',noticia='" & noticia & "'"sql = sql & ",datadia='" & datadia & "' where id=" & id Response.write sqlConn.Execute(sql)
Acho q tinha um erro na concatenção dos '.Só dei uma organizada e mandei imprimir o conteúdo de sql e esta ok.
NÃO FUNCIONA..... ISSO É FANTASTICO....Cara, ele dá o mesmo erro...Erro de sintaxe (operador faltando) na expressão de consulta 'id='./Sistema - Programa/editando.asp, line 40Agora onde é linha 40: Conn.Execute(sql)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara vamos solucionar isto.. Pode demora mas vamos resolver... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Manda dar um response.write no na variavel sql e dê um reponse.end. Depois poste aqui o conteudo da variavel sql para analise.

 

Posta tb o novo código q você esta usando!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara vamos solucionar isto.. Pode demora mas vamos resolver... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Manda dar um response.write no na variavel sql e dê um reponse.end. Depois poste aqui o conteudo da variavel sql para analise.Posta tb o novo código q você esta usando!

Desculpa cara, mas não entendi :!!!?!?é isso:???Response.write sqlresponse.end(sql)Conn.Execute(sql)Se for isso mesmo, deu erro tb !!!huahua

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso:Response.write sqlresponse.endE post o conteúdo da varivel sql para ermo o q tem nela;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso:Response.write sqlresponse.endE post o conteúdo da varivel sql para ermo o q tem nela;

CERTO !!! a pagina editando.asp está assim:<%@ Language=VBScript %><% response.buffer=true %><% if session("login") = "" Thenresponse.redirect("default.asp")end if %><!--#Include file="conecta.asp"--><HTML><BODY><%cnpath="DBQ=" & Server.MapPath("noticias.mdb") DataSource = "Driver={Microsoft Access Driver (*.mdb)}; " & cnpath dim id dim manchete dim fonte dim imagem dim noticia dim datadia dim sql Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open DataSourceid = Request.Form("id")manchete = Request.Form("manchete")fonte = Request.Form("fonte")imagem = Request.Form("imagem")noticia = Request.Form("noticia")datadia = Request.Form("datadia")sql = "update Noticias set manchete='" & manchete &"',fonte='" & fonte & "'"sql = sql & ",imagem='" & imagem & "',noticia='" & noticia & "'"sql = sql & ",datadia='" & datadia & "' where id=" & idResponse.write sqlConn.Execute(sql)%></BODY></HTML>O response.end deu as variaveis coretamente, porem não mostrou o ID da noticia, apareceu assim:update Noticias set manchete='tiosan',fonte='Thiago',imagem='imgs/semimagem.gif',noticia='corpo da noticia....',datadia='04/12' where id=Não deveria aparecer o numero de ID tb ??????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso:Response.write sqlresponse.endE post o conteúdo da varivel sql para ermo o q tem nela;

CERTO !!! a pagina editando.asp está assim:<%@ Language=VBScript %><% response.buffer=true %><% if session("login") = "" Thenresponse.redirect("default.asp")end if %><!--#Include file="conecta.asp"--><HTML><BODY><%cnpath="DBQ=" & Server.MapPath("noticias.mdb") DataSource = "Driver={Microsoft Access Driver (*.mdb)}; " & cnpath dim id dim manchete dim fonte dim imagem dim noticia dim datadia dim sql Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open DataSourceid = Request.Form("id")manchete = Request.Form("manchete")fonte = Request.Form("fonte")imagem = Request.Form("imagem")noticia = Request.Form("noticia")datadia = Request.Form("datadia")sql = "update Noticias set manchete='" & manchete &"',fonte='" & fonte & "'"sql = sql & ",imagem='" & imagem & "',noticia='" & noticia & "'"sql = sql & ",datadia='" & datadia & "' where id=" & idResponse.write sqlConn.Execute(sql)%></BODY></HTML>O response.end deu as variaveis coretamente, porem não mostrou o ID da noticia, apareceu assim:update Noticias set manchete='tiosan',fonte='Thiago',imagem='imgs/semimagem.gif',noticia='corpo da noticia....',datadia='04/12' where id=Não deveria aparecer o numero de ID tb ??????
Isso mesmo o seu ID esta null. Ele deveria estar no final do where.Verifique o pq ele não esta vindo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso:Response.write sqlresponse.endE post o conteúdo da varivel sql para ermo o q tem nela;

CERTO !!! a pagina editando.asp está assim:<%@ Language=VBScript %><% response.buffer=true %><% if session("login") = "" Thenresponse.redirect("default.asp")end if %><!--#Include file="conecta.asp"--><HTML><BODY><%cnpath="DBQ=" & Server.MapPath("noticias.mdb") DataSource = "Driver={Microsoft Access Driver (*.mdb)}; " & cnpath dim id dim manchete dim fonte dim imagem dim noticia dim datadia dim sql Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open DataSourceid = Request.Form("id")manchete = Request.Form("manchete")fonte = Request.Form("fonte")imagem = Request.Form("imagem")noticia = Request.Form("noticia")datadia = Request.Form("datadia")sql = "update Noticias set manchete='" & manchete &"',fonte='" & fonte & "'"sql = sql & ",imagem='" & imagem & "',noticia='" & noticia & "'"sql = sql & ",datadia='" & datadia & "' where id=" & idResponse.write sqlConn.Execute(sql)%></BODY></HTML>O response.end deu as variaveis coretamente, porem não mostrou o ID da noticia, apareceu assim:update Noticias set manchete='tiosan',fonte='Thiago',imagem='imgs/semimagem.gif',noticia='corpo da noticia....',datadia='04/12' where id=Não deveria aparecer o numero de ID tb ??????
Isso mesmo o seu ID esta null. Ele deveria estar no final do where.Verifique o pq ele não esta vindo.
CARA não tô achando erro algum aqui....Até no access tá certo !!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother,

 

O que me parece é que Request.Form("id") esta sem nada.

 

Dê um response.write em Request.Form("id") e veja o que tem e post.

 

No access con certeza esta ok mas no campo do form do qual você esta recuperando ele esta vazio.

 

Execute também:

response.write "conteúdo do form:" & request.form

e post o resultado aqui.

 

Intel +

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother,O que me parece é que Request.Form("id") esta sem nada.Dê um response.write em Request.Form("id") e veja o que tem e post.No access con certeza esta ok mas no campo do form do qual você esta recuperando ele esta vazio.Execute também:

response.write "conteúdo do form:" & request.form
e post o resultado aqui.Intel +
Ó o resultado é:conteúdo do form: manchete=tiosan&datadia=04%2F12&fonte=Thiago&imagem=imgs%2Fsemimagem.gif¬icia=corpo+da+noticia....&submit=Enviarnem apareceu o ID ai, mas ele aparece na página de edição !!! isso tá muito estranho !Faz o seguinte, quando tiver online, me manda o seu msn, que vou ativar o IIS para você ver como é o banco e ver se consegue tirar algumas conclusões beleza ??? aguardo então, um abraço !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother,

 

 

Se o ID aparece na página de ediçao é pq ele é passado para ela de alguam forma.

 

Vamos tentar descobrir como isto é feito!

 

Existem 3 formas de passar valores entre páginas ASP.

1. Controle de formulários (Request.Form) ,

2. parâmetros no link (Request.QueryString) ou

3. variáveis de sessão.

 

Para ver o que esta sendo passado no QueryString rode o código e post o resultado:

<%	   response.write "Contueúdo QueryString = " &  request.querystring & "<br>"%>

 

Para ver o que esta no FORM use: (este você já postou e não encontrou o ID)

<%	   response.write "Contueúdo Form = " &  request.form & "<br>"%>

Para ver o coteúdo das session´s:

<%dim sfor each s in Session.Contents	Response.Write Session.Contents.Key(s) & " = " &  Session.Contents.Item(s) & "<br>"next%>

Se você executar os 3 pedços de códigos abaixo e não encontrar o tal do ID ai realmente não tenho idéia de onde ele poderá esta vindo.

 

Mas a noite me conecto e se der te ajudo. Aqui no serviço o msn é bloqueado.

 

Intel +

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.