CONEXAO COM BD ACCESS NO WINDOWS 7

BBCOSTA 01/10/2013 21:11:35
#429471
Fala galera, blz?
Estou tendo problemas de comunicação do meu programa com o banco de dados. Instalei-o na rede da minha empresa e nas máquinas com Windows 2003 ou XP, não sei ao certo, funciona perfeitamente, porém como a empresa está trocando o Windows antigo para Windows 7, nas máquinas com Windows 7 o programa abre, porém me aparece o erro de conexão com banco de dados, onde esse erro eu mesmo coloquei se por a caso o programa não conseguisse conectar ao banco. Já tentei solucionar problema de compatibilidade clicando com o botão direito sobre o arquivo .exe, e nada. Li em alguns lugares para fazer a publicação do programa para gerar o setup, mas como o meu programa esta tendo somente este erro de comunicação, abre perfeitamente e minha empresa não me dá acesso de instalar programas, gostaria de saber se há outra alternativa para solucionar meu caso.

Obrigado.
OMAR2011 02/10/2013 07:55:04
#429479
Coloca o código da conexão com o Banco,ai o pessoal
vai responder.
TUNUSAT 02/10/2013 13:13:57
#429499
BBCOSTA,


Nesta página temos uma lista completa de conexões a vários bancos de dados:
http://www.connectionstrings.com/
http://www.connectionstrings.com/access/

Veja ... você usa [Ô]ACE[Ô] ou o [Ô]JET[Ô]?

- Microsoft ACE OLEDB 12.0;

-----------------------------------
Standard security

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;Persist Security Info=False;
-----------------------------------

- Microsoft Jet OLE DB 4.0;

-----------------------------------
Standard security

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;
-----------------------------------

O ACE é novo para as versões novas do Office, o Jet é para o Office antigas.



... OU seu erro não se refere a uma conexão propriamente dita ... mas algum componente está faltando nas máquinas novas, por exemplo:

Microsoft Access 2010 Runtime
http://www.microsoft.com/pt-br/download/details.aspx?id=10910


Pode te ajudar também:
Errors using multiple versions of Access under Vista or Windows 7
http://allenbrowne.com/bug-17.html


[][ô]s,
Tunusat.
BBCOSTA 02/10/2013 21:32:19
#429512
TUNUSAT,
estou sim usando o Microsoft Jet.4.0 e não tenho problemas no código, está sendo mesmo é pq o computador de destino é x64. Gostaria de saber mais como eu faço para colocar este ACE como provedor. Sou leigo e este é o meu primeiro programinha. No caso de mudar do Jet.4.0 para o ACE.12 eu terei também de instalar o ACE nas minhas máquinas de destino?

Obrigado
TUNUSAT 02/10/2013 22:30:12
#429515
BBCOSTA,


Então... tipo o [Ô]ACE[Ô] é para Access 2007 para frente.
O [Ô]Jet[Ô] é para Access 2003 para trás.
Depende qual é a versão do seu banco de dados.
Você pode precisar nas máquinas Windows 7 de um [Ô]Service Pack 6[Ô] ou um [Ô]MDAC 2.8[Ô] complementar...

Estava procurando textos relacionados e encontrei isto no Wikipédia (em inglês):
http://en.wikipedia.org/wiki/Microsoft_Jet_Database_Engine
http://pt.wikipedia.org/wiki/Microsoft_Jet_Database_Engine

Veja que ele fala que no Windows 7 a versão do JET precisa ser 4.0 SP8+...

Para usar o ACE, você precisa mudar a string de conexão ao banco de dados no código fonte.

Não sei se o ACE funciona com os Access antigos... Mas se você puder, então migre seu banco de dados antigo para um novo (NÃO esqueça de manter sempre uma cópia isolada e bem guardada de seu banco antigo caso precise voltar tudo).


Outro texto bacana:
http://stackoverflow.com/questions/14401729/difference-between-microsoft-jet-oledb-and-microsoft-ace-oledb

Será que seu problema é este?!?
GOOGLE Tradutor:
=============================
....In addition, ACE provides a 64-bit driver, so can be used on 64-bit machines, whereas JET cannot. ...

... Além disso, a ACE fornece um driver de 64 bits, por isso pode ser usado em máquinas de 64 bits, enquanto o JET não pode. ...
=============================

Dá uma sapeada ai e veja se você consegue substituir seu banco Access XXXX para Access 2010 ou 2013 e se você consegue substituir a string de conexão da JET para a ACE. A dica é: (http://www.connectionstrings.com/)

Conseguindo ou não escreve aqui no Fórum.


[][ô]s,
Tunusat.
BBCOSTA 02/10/2013 22:39:42
#429516
TUNUSAT,
instalei o drive do ACE no meu PC e mudei a connectionstring e tô usando o ACE com Access 2003 e ele tá funcionando perfeitamente no meu PC, só que quando coloco no PC com windows 7 e x64 ele não conecta com banco de dados, mesmo eu tendo na máquina o access 2003. O ACE que instalei no meu PC não era o driver x64, já que meu PC é 32 bits. Será que eu tenho que instalar é o ACE com para driver de x64? Acho que meu PC nem aceita este drive x64
BBCOSTA 03/10/2013 00:02:58
#429520
TUNUSAT,
pelo que vi, mudando o Provedor para ACE.12 não me ajuda muito, pois onde quero instalar meus programinhas é na rede do meu trabalho e lá tem computadores com o windows 7 e também com o XP, e nos computadores XP da me dando o erro de que o não tem instalado o Provedor ACE.12 na máquina local. Eu tinha visto em outros foruns para acrescentar a linha <PlatformTarget>x86</PlatformTarget> abaixo da linha <Platform condition =[Ô][ô]$(Platform)[ô]==[Ô]>anycpu<</platform> no <PropertyGroup>. Você já ouviu falar disso? Tentei acrescentar essa linha em vários lugares e não consegui nada.

Obrigado
TUNUSAT 03/10/2013 07:57:31
#429522
BBCOSTA,


Puxa, nunca ouvi falar desta linha [Ô]<PlatformTarget>[Ô], vou pesquisar.

Vou passar algumas sugestões para você tentar fazer ... talvez alguma resolva seu problema:

Já pensou em migrar seu Access 2003 para 2010?

Você tentou instalar o MDAC 2.8 em uma máquina Windows 7 e testar?

Será que se você criar um novo banco e dados no Access 2003 em uma máquina Windows 7 e testar abri-lo no Win XP e no Win 7 ocorrerá o mesmo problema?

Já tentou instalar o pacote completo do Office 2003 em uma máquina Windows 7 e pois tentar rodar? Mesmo que tenha que desinstalar o pacore Office 2003 depois...


Links interessantes que fucei:

- Neste link o cara migrou de Access 2003 para Access 2007 para resolver o problema:
http://maximoaccess.maisforum.com/t2655-resolvidoaccess-2003-x-windows-7

- Aqui o problema é com o Access 2000:
http://comunidade.itlab.com.br/eve/forums/a/tpc/f/273606921/m/9357024823

- Strange Access 2003 problems after moving to Windows 7:
http://social.msdn.microsoft.com/Forums/office/en-US/b1849788-4e72-4298-bb01-e4ebf7d6fc61/strange-access-2003-
problems-after-moving-to-windows-7

- How to run Access 2003 application under Windows 7 64bit Home Premium?
http://answers.microsoft.com/en-us/office/forum/office_2003-access/how-to-run-access-2003-application-under-windows-7/13eee161-d46a-408d-b862-30d0791e99d1

- Access 2003 X Windows 7 Professional
http://comunidade.itlab.com.br/eve/forums/a/tpc/f/273606921/m/543106075


[][ô]s,
Tunusat.
OCELOT 03/10/2013 09:49:37
#429528
Se você usa o JET então compile seu programa para ser apenas de 32 bits, ele vai rodar normalmente no Windows de 64 bits.
BBCOSTA 03/10/2013 15:45:57
#429536
TUNUSAT,
eu vi os link[ô]s que vc me mostrou, só que acho que não são bem o meu problema, já que eu tenho instalado o access 2003 em uma das máquinas com windows 7 e o access abre perfeitamente, porém meu aplicativo não abre nesta máquina. Pelo que vi em outros foruns, a galera tava tendo o mesmo problema com o provedor Jet.4.0 e mudando não sei como para o x86 conseguia resolver o problema, onde não é necessariamente a versão do access. Muito obrigado ai pelo apoio. Vlw.
Tópico encerrado , respostas não são mais permitidas