Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro Em Conexão Com Banco Do Access 2007.


Giancarlo Braga

Pergunta

Fala pessoal.

Sou novo por aqui.

Tudo bem?

Eu estou tentando me conectar com um banco de dados Access 2007 para a inserção simples de um nome e idade que deve ser recebido de um formulário. Segue o código:

<%
nome = Request.Form("nome")
idade = Request.Form("idade")

set banco = Server.CreateObject("ADODB.Connection")
caminho = "d:\Gian\db1.accdb"
banco.open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="& caminho &";Persist Security Info=False;"

set INSE = Banco.Execute("INSERT INTO tabela1 (nome, idade) VALUES ('"& nome &"', '"& idade &"')")

response.Write("Inserido com sucesso")

banco.close
%>
Este mesmo código deu certo com um banco de dados mdb. Quando usei isso:
caminho = "d:\Gian\db1.mdb"
banco.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& caminho &";User Id=admin;Password=;"

Mas eu quero utilizar o novo formato '*.accdb', então fui ao site connectionstrings e peguei a string correspondente ao Access 2007.

No entanto dá esse erro:

ADODB.Connection (0x800A0E7A)

Provedor não encontrado. É possível que ele não esteja instalado corretamente.

/gian/insere_cadastro.asp, line 17

Até agora eu só consegui me conectar criando uma fonte de dado ODBC, mas eu não quero usar ODBC...

A linha 17 é esta:

banco.open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="& caminho &";Persist Security Info=False;"

Então provavelmente o erro está em algum lugar dessa String.

Vocês sabem o que pode ser? Se falta configurar alguma coisa?

Aguardo por qualquer ajuda,

Giancarlo Braga.

EDIT:

Há, e estou usando o IIS. O script está no servidor local ainda.

Editado por Giancarlo Braga
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

verifique se no ODBC do windows em drivers se o referido em questao ta lá, se não você tera de adicionar ou usar o mdb, verifique essa disponibilidade em servidores web também, pois se não tiver muito difundido na hora de hospedar terá que alterar novamente

Link para o comentário
Compartilhar em outros sites

  • 0
verifique se no ODBC do windows em drivers se o referido em questao ta lá, se não você tera de adicionar ou usar o mdb, verifique essa disponibilidade em servidores web também, pois se não tiver muito difundido na hora de hospedar terá que alterar novamente

Olá bareta.

Obrigado pela resposta.

Cara, está sim no ODBC.

Na aba 'Fonte de Dados do Usuário', aparece em último:

MS Access Database - Driver (Microsoft Access Driver (*.mdb, *.accdb))

Então o Access 2007 está lá no ODBC, e a coisa funcionou quando usei ODBC para me conectar nos meus testes ontem.

Olha esse pedaço de código:

<%
criterio = Request.Form("criterio")
set conn = Server.CreateObject("ADODB.Connection")
conn.open "tabela1"
sql = "SELECT * FROM [tabela1] WHERE idade = '"& criterio &"' "
set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql, conn
%>

Tanto setando o arquivo mdb como o accdb funcionava corretamente(pelo menos até aonde eu testei).

Mas quando vou tentar usar uma String sem precisar diretamente do ODBC não deu certo(desculpe-me se parece estranho dizer isso sobre o ODBC, rs, é que sou iniciante. Mas o que entendi até agora é que quando você seta um caminho pro seu banco de dados e usa determinada String não precisa configurar o ODBC para conectar ;-)).

Editado por Giancarlo Braga
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...