Question

J'utilise Visual Studio pour développer un programme C ++ utilisant OCII pour interroger une base de données Oracle 11G. C'est un programme assez simple à ce stade et fait une seule requête, mais je continue à courir dans des erreurs d'exécution. J'ai d'abord essayé de développer cela dans VS2010, téléchargeant les fichiers 11.2.0.3 OCII, et j'ai reçu une erreur liée au point d'entrée pour une procédure de Heap-ALLOC non située dans OCI.DLL. Je reçois l'impression que cette erreur peut être due au fait que mon client Oracle est 11.2.0.1.

Étant donné que je suis incapable de prendre en charge les raisons de mettre à niveau mon client à une version plus élevée, j'ai décidé de revenir à l'aide de Visual Studio 2005, puisque j'ai lu la documentation OCI d'Oracle selon laquelle les versions VC8 d'OcI Libs et DLL sont déjà installés dans le client 11G. Donc, j'ai déplacé mon programme C ++ / OCI sur VS 2005 et je reçois désormais une erreur d'exécution de débogage différente: une zone de message d'erreur disant "L'application a échoué d'initialiser correctement" et un message du chargeur dans la fenêtre de sortie VS disant "ldpwalcalportscriptor () Échec de la sonde [Oracle Client Dir] \ oci \ lib \ msvc \ vc8 \ oraocci11d.dll pour son manifeste, NTStatus 0xc0150002 "Je ne vois pas un fichier manifeste pour l'oraocci11d.dll, donc je suis donc à perte pour comment résoudre ce problème. Quelqu'un peut-il plus surviennent dans la configuration de VS pour OCI faire une suggestion? Merci d'avance ...

Sheldon

Était-ce utile?

La solution

Je remarque qu'un certain nombre de questions octiennes ici sont laissées sans réponse, alors je me sens obligé d'expliquer comment j'ai passé mon problème :) Comme on le mentionné souvent dans OCII, la clé est de télécharger la version appropriée de l'oracle instantané Client. J'avais essayé d'utiliser des fichiers de mon client d'exécution que j'ai déjà installé, mais le numéro de version de ce client est le 11.2.0.1, et l'OCI pour VS2010 nécessite une version de 11.2.0.2 ou 11.2.0.3. J'ai donc fini par télécharger la version 11.2.0.2 pour l'OCCI et le client instantané, car Les numéros de version doivent correspondre à pour que les choses fonctionnent ...

Après cela, il s'agissait simplement d'établir la variable environnementale du chemin et de configurer le projet Visual Studio pour pointer vers les répertoires contenant les dlls, les bibliothèques et incluent également les fichiers et définir la variable environnementale TNS_ADMIN sur le point. Répertoire contenant le fichier tnsnames.ora qui définit la base de données auquel j'essaie de vous connecter. Pour une description étape par étape de cette configuration, reportez-vous à cette Blog Post par Mark Williams. Même si cet article a été écrit pour Visual Studio 2008, la procédure est toujours la même pour 2010, juste avec différentes versions ...

Sheldon

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top