Runtime Error R6034 ao tentar usar Firebird Server 2.1 no Windows Server 2003 (Não é possível carregar gds32.dll)

StackOverflow https://stackoverflow.com/questions/1194223

Pergunta

Estou recebendo este erro de execução R6034 quando tento executar um aplicativo em um Windows 2003 Server.

Microsoft Visual C ++ Runtime Library

Runtime Error!

R6034

Um aplicativo fez uma tentativa de carregar a biblioteca C runtime incorretamente. Entre em contato com o equipe de suporte do aplicativo para obter mais informações.

Este servidor tinha Firebird 2.0 instalado, e ele funciona, eu desinstalei e instalado Firebird 2.1, mas Firebird 2.1 não funciona em todos.

Quando eu uso instclient para ver qual dll é instalado, ele retorna o resultado correto, que é a versão Firebird Estou usando 17910:

>instclient.exe query gds32
Installed GDS32.DLL version : 6.3.1.17910 (shared DLL count 1)

Eu também olhou para o outro dll que poderia ser perdida no sistema, mas não há nada, o sistema está limpo, mas eu não posso começar Firebird ao trabalho.

Se você está se perguntando por que eu preciso do gds32, é porque eu uso o componente TIBBackupService e usa gds32 por padrão (ou pior, codificado), por isso não pode ser alterado para fbclient.dll.

Todas as idéias para resolver este são bem-vindas, obrigado.

Foi útil?

Solução

Muito provavelmente você optou por criar o gds32.dll legado no diretório system32, mas a versão necessária da biblioteca de tempo de execução MSVC não está instalado. Use o Microsoft Dependency Walker em qualquer de 32 bits ou a versão de 64 bits (dependendo da versão do servidor Firebird) para verificar qual DLL não foi encontrado. Em qualquer caso, a instalação dos MS pacote redistribuível deve ajudar.

Outras dicas

O erro é provavelmente porque você está carregando uma DLL C de tempo de execução do caminho, em vez de partir de um diretório SxS. Você vai precisar adicionar um manifesto à sua exe que informa o carregador OS sobre a dependência. Olhe para esta resposta que, embora não diretamente relacionados, aponta para como você pode corrigir R6034. Note-se que o erro refere-se a biblioteca de tempo de execução do C ++, não GDS32.DLL. Embora a outra pergunta não menciona R6034 diretamente, eu respondi a essa pergunta e houve um R6034 que foi a causa raiz.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top