Se a DLL Oracle receber e/ou passar objetos como
std::string
ou qualquer outro objeto que:- Manipule o heap de qualquer maneira ou
- Os objetos podem ter componentes internos diferentes entre o aplicativo e a DLL,
então você não tem escolha a não ser usar a biblioteca correta para vincular. Caso contrário, você acaba com objetos binários ou incompatíveis com heap sendo passados, o que leva ao que você está vendo agora.
Veja aqui:http://docs.oracle. com/cd/E11882_01/appdev.112/e10764/install.htm#CBHGBBJI
O link acima menciona a biblioteca de importação de depuração e a versão de depuração da DLL. Também isso é afirmado no link:
Applications that link to MSVCRTD.DLL, a debug version of Microsoft C-Runtime, /MDd compiler flag, should link with these specific OCCI libraries: oraocci11d.lib and oraocci11d.dll.