I am facing a problem while upgrading one of my code from VS 6.0 to VS 2012, written in C++.
This component is an ATL OLEDB provider which is consumed by the caller through the ADODB connection and invoking the Execute() method. Multiple commands are sent in this Execute() method using semicolon.
This is working fine when the provider is in VS 6.0 but this does not work if it is upgraded to VS2012.
With the upgraded code, the consumer is unable to invoke the OLEDB provider unless it passes the optional parameter 512 in the Execute() method. Using this it gets invoked but after getting the response it fails giving an exception of "Out of memory".
We tried firing single command through the Execute() method and then it works but with only 512 optional parameter passed. With multiple commands we get an exception that "Multiple recordsets are not supported".