O que pode fazer com que a conexão ODBC informe o nome da fonte de dados não encontrado

1

Estou trabalhando com uma pequena empresa que usa um banco de dados baseado no Access para a ordem de serviço mgmt. O sistema existe há anos e eles têm 6-7 PCs usando software personalizado de um ISV para acessar o banco de dados. O banco de dados é acessado por meio de uma conexão de unidade mapeada (Z :).

Vários meses atrás, eles começaram a receber esse erro de forma intermitente:

Data source name not found and no default driver specified

Isso faz com que o ISV tenha que se conectar ao banco de dados e executar um reparo para recuperar o banco de dados. O erro que eles vêem é um pouco mais específico e sugere que o formato do arquivo esteja corrompido. O técnico de suporte sugere que o problema é causado por uma transação que falha na rede. Para esse fim, tentamos várias coisas

  • moveu o banco de dados para um host diferente, caso o computador "servidor" original tivesse problemas
  • substituiu o comutador de rede
  • começou a tirar os clientes da rede, um a um, na tentativa de isolar a criança problemática sem resultados consistentes

Até agora, sem sorte.

Minha (s) pergunta (s) - Poderia um dos PCs fechar seu mapeamento de unidade e corromper o banco de dados aberto Existe alguma coisa nova no Windows 7 que possa estar atrapalhando - Você pode recomendar uma abordagem melhor para isolar a causa?

    
por uSlackr 23.11.2011 / 19:35

2 respostas

1

Isso é quase certamente um problema de DSN de 32 bits versus de 64 bits. Para usar um DSN de 32 bits em um ambiente de 64 bits, vá para C:\Windows\SysWoW64\odbcad32.exe

Nosso aplicativo interno tem uma limitação muito semelhante. Para evitar o problema no futuro, talvez você queira instalar o SQL Server Native Client mais recente e implantar o DSN de 32 bits e 64 bits em todas as máquinas através da Diretiva de Grupo.

    
por 06.02.2012 / 23:46
0

Se você mapear a unidade usando o comando SUBST.exe em vez de "NET USE", ao contrário de "NET USE", a conexão sempre será repetida quando a unidade mapeada for perdida. Lembre-se de que, ao fazer isso, fica difícil desmapear a unidade para pessoas que não conhecem o comando SUBST.exe. Quando uma unidade é mapeada dessa maneira, você não pode simplesmente desconectá-la do Windows Explorer ... isso não funciona.

Pessoalmente, concordo que é um problema de 64 bits.

Lembre-se de que os painéis de controle ODBC DSN de 32 bits e 64 bits, embora você espere que eles funcionem de determinada maneira, em alguns casos, eles fazem o oposto. Por exemplo: quando em um sistema de 64 bits e tentando adicionar um "DSN de usuário" de 64 bits, você pode perceber que sua conexão falha, mas usando um "System DSN" ele funciona. Isso ocorre porque o painel ODBC está, na verdade, gerando um "DSN de 32 bits" na guia "Usuário" do painel de controle ODBC de 64 bits, enquanto gera o DSN esperado de 64 bits na guia "Sistema". Contanto que você esteja ciente da possibilidade de que os painéis de controle não façam como esperado, eu não acho que qualquer configuração te atinja.

    
por 09.02.2012 / 06:21

Tags