ODBC: problemas ao remover o DSN do sistema

4

Eu tenho um colega que tem dois DSNs com o mesmo nome - um usuário DSN e o outro, um sistema. Ele removeu o DSN do usuário, mas não pode remover o DSN do sistema no ODBCad32

Alguém encontrou isso antes?

    
por Nick 12.02.2010 / 12:09

3 respostas

3

Eu vi isso em que um ponto final (.) foi inserido em algum ponto na chave do Registro que suporta o DSN e não seria editado ou excluído. É um DSN da Oracle? Se não, qual driver está usando?

Primeiro teste se você pode adicionar ou remover outro DSN, ou se todo o painel se tornou inútil.

Verifique qual painel você está usando. Às vezes há duas cópias do painel em C:\Windows\SysWOW64\odbcad32.exe (surpreendentemente, 32 bits) e C:\Windows\system32\odbcad32.exe (surpreendentemente, 64 bits). Experimente os dois.

Em seguida, tente procurar a entrada em HKLM/Software/ODBC . Você pode editar ou remover a entrada.

Os DSNs do usuário são exibidos nos dois painéis, mas somente o administrador de correspondência de bits pode excluir ou editar um.

    
por 12.02.2010 / 12:15
3

Parece que pode ser um problema de permissões. Os DSNs do sistema são por computador, independentemente de quem faz o logon, portanto, você precisará de acesso administrativo à máquina para removê-lo ou alterá-lo.

Se você já tiver acesso administrativo, precisará verificar a segurança da chave e assumir a propriedade, se necessário.

    
por 12.02.2010 / 12:49
1

Acabei de encontrar um problema com os drivers Jet que possivelmente se aplicam a outros drivers ODBC: Se você criar ou modificar um DSN do sistema e houver um DSN de usuário com o mesmo nome, as configurações de registro DSN do sistema serão incompleto - Eu entendo que eles vão para a configuração do usuário DSN, em vez disso.

O DSN do sistema parece funcionar, porque (pelo menos os Jet) drivers procuram entradas de registro de DSN do sistema (em HKLM) e as entradas de DSN do usuário (em HKCU). Se você excluir o DSN do Usuário, ficará com um DSN de Sistema incompleto - e seu driver ODBC poderá não ser robusto o suficiente para lidar com isso.

FWIW, Dan Konigsbach

    
por 12.07.2010 / 20:32