Вопрос

Я использую Visual Studio для разработки программы C ++, которая использует OCLE для запроса базы данных Oracle 11G. Это довольно простая программа на данный момент, и только делает один запрос, но я продолжаю запускаться во время выполнения ошибок. Сначала я попытался разработать это в VS2010, загружая 11.2.0.3 OCCI-файлы, и я получил ошибку, связанную с точкой входа для процедуры Heap-Alloc, не расположенной в Oci.dll. Я получаю впечатление, что эта ошибка может быть связана с тем, что мой Oracle Client 11.2.0.1.

Поскольку я не могу поддержать причины обновления моего клиента в более высокую версию, я решил вернуться к использованию Visual Studio 2005, поскольку я прочитал в Oracle Occi Documentation, что версии OCKI libs и DLL в клиенте 11G. Итак, я переместил свою программу C ++ / OCL в VS 2005, и теперь я получающую другую ошибку выполнения отладки: сообщение об ошибке сообщение «Приложение не удалось инициализировать правильно», и сообщение из погрузчика в окне вывода VS, говоря, «ldrpwalkiMportdescriptor () для того, как решить это. Может ли кто-нибудь более разбираться в VS Setup для OCCI сделать предложение? Заранее спасибо ...

Шелдон

Это было полезно?

Решение

Я замечаю, что ряд вопросов OCL здесь остается без ответа, поэтому я чувствую себя обязанным объяснить, как я прошел мимо моей проблемы :) Как часто упоминается в Occi Threats, ключ заключается в загрузке подходящей версии oracle Instant Клиент. Я пытался использовать файлы с моего клиента Runtime, который я уже установил, но номер версии для этого клиента - 11.2.0.1, а OCL для VS2010 требует версии 11.2.0.2 или 11.2.0. Поэтому я закончил загрузить версию 11.2.0.2 как для OCLE, так и для мгновенного клиента, поскольку номера версий должны соответствовать для вещей, чтобы работать ...

После этого это было просто вопрос установки пути окружающей среды и настройки проекта Visual Studio для указания каталогов, которые содержат CONCI DLL, библиотеки и включают файлы, а также установить переменную TNS_ADMIN ECHOOL для укажи на каталог, содержащий файл TNSNAMES.ORA, который определяет базу данных, к которой я пытаюсь подключиться. Для пошагового описания этой настройки обратитесь к этому Блог Post Mark Williams. Несмотря на то, что этот пост был написан для Visual Studio 2008, процедура все еще такая же для 2010 года, просто с другой версией #S ...

Шелдон

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top