Programa não roda em Win7 64

Delphi

09/03/2012

Se eu logar com um usuário que seja adm da máquina, eu rodo o programa. Porem, se não for adm da máquina ele não roda. O programa acessa o BDE. Já instalei o Patch para Win 7 64 e o BDE ele se conecta na base de dados. Agora via aplicação não consigo a conexão. A estrutura está assim:

BDE >> Driver ODBC >> Banco de Dados.

O ODBC não tem problema, funciona direitinho. O problema está no BDE. Agora se eu entra como admin, aí funciona tudo. O que devo fazer?
Pjava

Pjava

Curtidas 0

Respostas

Marcus Cordeiro

Marcus Cordeiro

09/03/2012

Por que você não cria um usuário ADMINISTRADOR local e deixa o usuário acessando? Eu não vejo problema em fazer isso já que:

1 - O usuário local so tem direitos de administrador localmente;
2 - Para uma Rede Corporativa usando o AD vc pode criár o usuário como usuario padrão!;


se a pasta do teu programa estiver sendo acessada em rede, cria uma usuário com os mesmos privilégios do administrador no compartilhamento da mesma.

Desabilita também o Controle de Contas de Usuário, deixa ele no mais baixo nível, não tem poblema.

Acho que isso resolve!!

GOSTEI 0
Pjava

Pjava

09/03/2012

Imagine ter que fazer isso em um banco, com mais de 1000 pontos de rede(dentro e fora de SP) e ademais a política de segurança do banco não permite que se dê poderes de admin a outros colaboradores. Tenho que fazer funcionar em Win 7 64 ou manter as máquinas com Win XP.
GOSTEI 0
Marcus Cordeiro

Marcus Cordeiro

09/03/2012

Seguinte:


Você está montando seu sistema para uma CORPORAÇÃO ou pra uma empresa de pequeno a médio porte? por que são duas coisas totalmente diferentes.

Veja o seguinte:

Sou analista de suporte técnico em uma empresa de transportes urbano aqui de Fortaleza. Nessa empresa existem 52 workstation e 4 servidores (internet, banco de dados, arquivos, autenticação com Active Directory).

pois bem....

todos os usuários que são cadastrados na rede estão no grupos USUARIOS, ou seja, não tem privilégio de administrador em canto nenhum da rede de dados mas, localmente, ao adicionar o perfil de usuário (claro que o administrador da rede vai ter que adicionar o usuário na estação de trabalho) esse usuário é cadastrado como administrador local. Isso por que em muitos casos existem aplicativos que só funcionam assim. Pois bem, os bancos usados na empresa são dois FIREBIRD e SQL/SERVER.. quanto eu utilizava SQL SERVER com BDE, isso há uns 6 anos atras eu tive esse problema. Isso acabou quando mudei pra Firebird com DbExpress. Você me disse que é uma exigencia do cliente usar o BDE, acho que essa atitude não deveria ser permitida por você que é o programador. Você que deve dizer qual a melhor BASE DE DADOS a ser usada dependendo do tipo de aplicação que vc vai desenvolver. BDE é uma coisa que só é usada em curso de DELPHI para iniciantes para eles verem a merda que ele é e querer fazer logo o curso de FIREBIRD ou SQL SERVER...com BDE não existe a figura do SGDB ou seja, os arquivos de INDICES e TABELAS são totalmente isoladas, ou seja, só tem ligação na hora de se referirem no projeto. Esses arquivos por sua vez pode sofrer impedimento de acesso quando você usa um SO completo como Windows 7. No caso do firebird ou SQL SERVER ou ORACLE, esse controle de acesso ao banco é feito pelo GERENCIADOR DO BANCO DE DADOS, dai você ver o grande problema que você meteu. então, só tem duas opções, ou faz assim ou não faz... ou uma terceira seria você migar a base para FIREBIRD.

Desculpe esse conselho acima, mas é que o seu caso não é nada errado que você esteja fazendo em programação, apenas a escolha que você fez que foi infeliz. Esse problema não vai se resolver se mudar para XP..
GOSTEI 0
Pjava

Pjava

09/03/2012

O programa já está pronto. Eu apenas fui chamado para fazer rodar em Win 7 64. Ele foi escrito em Delphi 5 há mais de 10 anos. Eu vi que ele faz uma chamada a uma DLL chamada ODBCCP32.DLL. E acho que o p´roblema está aí. Eu não tenho como testar aqui em casa, pq meu OS é Win 7 32 e nele funciona. Acho que devo atualizar essa DLL, para uma que rode em 64, pois ela é da MicroSoft.
GOSTEI 0
POSTAR