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

Como rodar um programa em rede usando um Banco Ms Access


Geomar Canjundo

Pergunta

Viva Pessoal,

Estou desenvolvendo um sistema Usando Delphi7 e o MS Access, encontrei na Net um código para fazer o sistema rodar em rede e até roda, mas na hora de gravar

os registos ele gera um erro.

Por outro lado se eventualmente se inicio o sistema no servidor, aos abrir nas cliente, gera um erro.

Alguém pode me ajudar a resolver essa questão?

p.s: O componentes de acesso aso Dados são ADO.

Aguardo Resposta.

Link para o comentário
Compartilhar em outros sites

19 respostass a esta questão

Posts Recomendados

  • 0

Olá.

Uso ODBC não só para o Access, mas para todo BD.

Prefiro TDatabase e TQuery... 0 (zero) problemas para select, insert, update, delete...

O chato é só ter que ficar procurando a tradução das funções SQL compatíveis com os outros SQL (MySQL, xBase, SQLServer, etc...) mas no final o resultado é excelente...

Ok?

Link para o comentário
Compartilhar em outros sites

  • 0

Geomar Canjundo, eu consigo sem problema usando um arquivo "udl", você deve fazer o mapeamento da rede para a máquina de onde fica o Banco de dados, dentro do seu sistema, em TADOACONNECTION você quando for indicar o local do banco de dados você marca "User data link file" e manda procurar o arquivo que você vai criar ex.: "C:\Sistema.udl."

agora você salvar este codigo abaixo em um bloco de nota e salvar como "Sistema.udl" e salva dentro do "C:\", depois de salvo você dá dois no arquivo click e indica o banco de dados que já estar mapeado. em Database Password se o banco tiver senha, o acesso pelo sistema é feito normalmente, apenas não permite outra pessoa abrir o banco e alterar as informações.

[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sistemas.mdb;Persist Security Info=False;Jet OLEDB:Database Password=xxx;Jet OLEDB:Engine Type=0

ver se isso é o que você precisa, depois posta o resultado.

Link para o comentário
Compartilhar em outros sites

  • 0
Geomar Canjundo, eu consigo sem problema usando um arquivo "udl", você deve fazer o mapeamento da rede para a máquina de onde fica o Banco de dados, dentro do seu sistema, em TADOACONNECTION você quando for indicar o local do banco de dados você marca "User data link file" e manda procurar o arquivo que você vai criar ex.: "C:\Sistema.udl."

agora você salvar este codigo abaixo em um bloco de nota e salvar como "Sistema.udl" e salva dentro do "C:\", depois de salvo você dá dois no arquivo click e indica o banco de dados que já estar mapeado. em Database Password se o banco tiver senha, o acesso pelo sistema é feito normalmente, apenas não permite outra pessoa abrir o banco e alterar as informações.

[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sistemas.mdb;Persist Security Info=False;Jet OLEDB:Database Password=xxx;Jet OLEDB:Engine Type=0

ver se isso é o que você precisa, depois posta o resultado.

PIRAMBU estou testando a sua solução mais tenho algumas dúvidas:

1. O Mapeamento é somente do Banco de Dados ou da Pasta completa do Sistema?

a) E esse mapeamento é feito em todas máquinas clientes ou no servidor?

Aguardo sua resposta para eventuais novos comentários, questões ou dúvidas,

Abraços e valeu pela dica.

Link para o comentário
Compartilhar em outros sites

  • 0
1. O Mapeamento é somente do Banco de Dados ou da Pasta completa do Sistema?

a) E esse mapeamento é feito em todas máquinas clientes ou no servidor?

Aguardo sua resposta para eventuais novos comentários, questões ou dúvidas,

Abraços e valeu pela dica.

Sim, é feito apenas do banco de dados, e é feito em cada máquina.

Link para o comentário
Compartilhar em outros sites

  • 0
Geomar Canjundo, eu consigo sem problema usando um arquivo "udl", você deve fazer o mapeamento da rede para a máquina de onde fica o Banco de dados, dentro do seu sistema, em TADOACONNECTION você quando for indicar o local do banco de dados você marca "User data link file" e manda procurar o arquivo que você vai criar ex.: "C:\Sistema.udl."

agora você salvar este codigo abaixo em um bloco de nota e salvar como "Sistema.udl" e salva dentro do "C:\", depois de salvo você dá dois no arquivo click e indica o banco de dados que já estar mapeado. em Database Password se o banco tiver senha, o acesso pelo sistema é feito normalmente, apenas não permite outra pessoa abrir o banco e alterar as informações.

[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sistemas.mdb;Persist Security Info=False;Jet OLEDB:Database Password=xxx;Jet OLEDB:Engine Type=0

ver se isso é o que você precisa, depois posta o resultado.

PIRAMBU estou testando a sua solução mais tenho algumas dúvidas:

1. O Mapeamento é somente do Banco de Dados ou da Pasta completa do Sistema?

a) E esse mapeamento é feito em todas máquinas clientes ou no servidor?

Aguardo sua resposta para eventuais novos comentários, questões ou dúvidas,

Abraços e valeu pela dica.

PIRAMBU não consigo mapear o banco de dados, pode mandar-me as instruções para o fazer?

Link para o comentário
Compartilhar em outros sites

  • 0

Abra o Explorer->Ferramentas->Mapear unidade de rede, depois click em procurar e identifique a pasta onde estar o banco de dados na rede, depois vá no arquivo *.udl que você colocou no C:\ e identifique o local do banco pelo mapeamento que você fez

Link para o comentário
Compartilhar em outros sites

  • 0
Abra o Explorer->Ferramentas->Mapear unidade de rede, depois click em procurar e identifique a pasta onde estar o banco de dados na rede, depois vá no arquivo *.udl que você colocou no C:\ e identifique o local do banco pelo mapeamento que você fez

Caro,

Do que me deu para perceber, o ficheiro *udl deve ser criado em todas as máquinas onde a aplicação vai rodar e não no Servidor, será essa a ideia certa?

Link para o comentário
Compartilhar em outros sites

  • 0
Geomar Canjundo, eu consigo sem problema usando um arquivo "udl", você deve fazer o mapeamento da rede para a máquina de onde fica o Banco de dados, dentro do seu sistema, em TADOACONNECTION você quando for indicar o local do banco de dados você marca "User data link file" e manda procurar o arquivo que você vai criar ex.: "C:\Sistema.udl."

agora você salvar este codigo abaixo em um bloco de nota e salvar como "Sistema.udl" e salva dentro do "C:\", depois de salvo você dá dois no arquivo click e indica o banco de dados que já estar mapeado. em Database Password se o banco tiver senha, o acesso pelo sistema é feito normalmente, apenas não permite outra pessoa abrir o banco e alterar as informações.

[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sistemas.mdb;Persist Security Info=False;Jet OLEDB:Database Password=xxx;Jet OLEDB:Engine Type=0

ver se isso é o que você precisa, depois posta o resultado.

bom dia,

como eu faço pra criar esse arquivo ''udl''?

Link para o comentário
Compartilhar em outros sites

  • 0
Geomar Canjundo, eu consigo sem problema usando um arquivo "udl", você deve fazer o mapeamento da rede para a máquina de onde fica o Banco de dados, dentro do seu sistema, em TADOACONNECTION você quando for indicar o local do banco de dados você marca "User data link file" e manda procurar o arquivo que você vai criar ex.: "C:\Sistema.udl."

agora você salvar este codigo abaixo em um bloco de nota e salvar como "Sistema.udl" e salva dentro do "C:\", depois de salvo você dá dois no arquivo click e indica o banco de dados que já estar mapeado. em Database Password se o banco tiver senha, o acesso pelo sistema é feito normalmente, apenas não permite outra pessoa abrir o banco e alterar as informações.

[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sistemas.mdb;Persist Security Info=False;Jet OLEDB:Database Password=xxx;Jet OLEDB:Engine Type=0

ver se isso é o que você precisa, depois posta o resultado.

bom dia,

como eu faço pra criar esse arquivo ''udl''?

Crie um documento no bloco de notas com o código acima e salve com a extensão *.udl

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0
Abra o Explorer->Ferramentas->Mapear unidade de rede, depois click em procurar e identifique a pasta onde estar o banco de dados na rede, depois vá no arquivo *.udl que você colocou no C:\ e identifique o local do banco pelo mapeamento que você fez

Pirambu,

Segui suas instruções tranquilo que para o mapeamento quer para a criação do Ficheiro *udl. Após isso fiz o seguinte:

1. Na maquina em que estou a desenvolver o sistema(Servidor), criei uma UDL apontando para o banco nessa caso em:(C:\Sistema de Vendas\Sistema\Programa\BaseVendas.mdb).

2. Abri o Delphi e no apaguei o texto do ConnectionString do ADOCONNECTION e apontei o "USE DATA LINK FILE" para o ficheiro o *udl, no caso (Base_Vendas.udl), e cliquei no botão Connect para que ativasse a conexão, mas gerou o erro:"O ficheiro não é um ficheiro composto";

3. Mapiei a pasta da base de dados (W://) para a máquina cliente e no C:// desta máquina tb criei um ficheiro udl com o mesmo nome "BaseVendas.udl" que aponta para o Banco (W:\Base_Vendas.udl).

Não está a funcionar.

Podes detalhar-me passo a passo as acções?

Se for confortável para ti, pode ser via MSN gcanjundo@hotmail.com

Aguardo Resposta.

Geomar

Link para o comentário
Compartilhar em outros sites

  • 0

Geomar Canjundo, vamos tentar

1º - Coloque o Banco de dados no servidor em uma pasta compartilhada (para o código abaixo o banco de dados deve ter senha, abra o banco de dados em modo exclusivo e coloque a senha para outras pessoas não fiquem olhando as informações).

2º Criei o Arquivo "Dados.udl" e salve dentro do "C:\Dados.udl" em cada máquina. crie um bloco de nota copie este código para o arquivo

[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=W:\bancoDados.mdb;Persist Security Info=False;Jet OLEDB:Database Password=123;Jet OLEDB:Engine Type=0

Data Source: indica o banco de dados pelo mapeamento

Password: senha do Banco de dados.

mude a extensão para "Udl

3º no delphi no "ADOConnection" marque "Use Data Lnk File" e indique o "C:\dados.udl" assim o executável vai procurar sempre este aquivo em cada maquina onde estiver rodando. não pode ser diferente.

dessa forma é para funcionar sem problema tentanovamente e post o resultado.

Link para o comentário
Compartilhar em outros sites

  • 0
Geomar Canjundo, vamos tentar

1º - Coloque o Banco de dados no servidor em uma pasta compartilhada (para o código abaixo o banco de dados deve ter senha, abra o banco de dados em modo exclusivo e coloque a senha para outras pessoas não fiquem olhando as informações).

2º Criei o Arquivo "Dados.udl" e salve dentro do "C:\Dados.udl" em cada máquina. crie um bloco de nota copie este código para o arquivo

[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=W:\bancoDados.mdb;Persist Security Info=False;Jet OLEDB:Database Password=123;Jet OLEDB:Engine Type=0

Data Source: indica o banco de dados pelo mapeamento

Password: senha do Banco de dados.

mude a extensão para "Udl

3º no delphi no "ADOConnection" marque "Use Data Lnk File" e indique o "C:\dados.udl" assim o executável vai procurar sempre este aquivo em cada maquina onde estiver rodando. não pode ser diferente.

dessa forma é para funcionar sem problema tentanovamente e post o resultado.

Olá Pirambu!!!! obrigadíssimo Funcionou, o meu sistema está a trabalhar em Rede.

Mas agora surgiu outro problema. Sempre que tenho Salvar um registo, mostra-me a seguinte mensagem: "A Operação tem que utilizar uma consulta actualizável"

Geomar

Editado por Geomar Canjundo
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...