Pergunta

Estou usando o Visual Studio para desenvolver um programa C ++ que usa OCCI para consultar um banco de dados Oracle 11G. É um programa muito simples neste momento e só faz uma única consulta, mas continuo correndo em erros de tempo de execução. Primeiro tentei desenvolver isso no VS2010, baixando os arquivos occi 11.2.0.3 e recebi um erro relacionado ao ponto de entrada para um procedimento Heap-Alloc não localizado no OCI.dll. Eu recebo a impressão desse erro pode ser devido ao fato de que meu cliente Oracle é 11.2.0.1.

Desde que eu sou incapaz de apoiar motivos para atualizar meu cliente para uma versão mais alta, decidi voltar ao Visual Studio 2005, já que li na documentação occi da Oracle de que as versões VC8 de Occi Libs e DLLs são instaladas já no cliente 11G. Então eu movi meu programa C ++ / Occi para o VS 2005 e agora recebo um erro de tempo de execução diferente: uma caixa de mensagem de erro dizendo "O aplicativo falhou ao inicializar corretamente", e uma mensagem do carregador na janela do VS Saída dizendo "LdrpwalkimportDescriptor () Falha ao investigar [Oracle Client Dir] \ Oci \ lib \ lib \ lib \ vc8 \ oraocci11d.dll por seu manifesto, ntstatus 0xc0150002 "Eu não vejo um arquivo manifesto para o oraocci11d.dll, então eu estou em uma perda para como resolver isso. Alguém pode mais versado na configuração vs para o Occi fazer uma sugestão? Agradecemos antecipadamente ...

Sheldon

Foi útil?

Solução

Eu percebi que uma série de perguntas occi aqui são deixadas sem resposta, então me sinto obrigada a explicar como eu passei pelo meu problema :) Como é frequentemente mencionado em threads occi, a chave é baixar a versão apropriada do Oracle Instant Cliente. Eu tentei usar arquivos do meu cliente de tempo de execução que já tinha instalado, mas o número da versão para esse cliente é 11.2.0.1, e o OCCI para VS2010 requer uma versão de 11.2.0.2 ou 11.2.0.3. Então eu acabei baixando a versão 11.2.0.2 para o OCCI e o Instant Client, já que Os números de versão têm que corresponder para as coisas funcionar ...

Depois disso, foi simplesmente uma questão de definir a variável ambiental do caminho e configurar o projeto do Visual Studio para apontar para os diretórios que contêm as DLLs, bibliotecas e incluem arquivos OCCC, e também definindo a variável ambiental TNS_ADMIN para apontar para o Diretório contendo o arquivo tnsnames.ora que define o banco de dados para o qual estou tentando se conectar. Para uma descrição passo a passo desta configuração, consulte este Blogue post por Mark Williams. Embora este post tenha sido escrito para o Visual Studio 2008, o procedimento ainda é o mesmo para 2010, apenas com diferentes versão #s ...

Sheldon

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