Short question: I am finding I need to use MARS over ODBC but not over ADO/OLEDB, is that correct?
Longer explanation:
I just discovered my ODBC code (using "Driver={SQL Native Client}", MFC CDatabase code) needs to have MARS ("MARS_Connection=yes;") because, although I do not issue multiple SELECTs when opening a RecordSet, I do fetch a batch of rows, then need to open another RecordSet to issue a new SELECT, and then return to the first RecordSet for the next batch. Without the MARS I get ODBC error "Connection is busy with results for another command". All fair enough.
However, my code works identically with ADO/OLEDB ("Provider=SQLNCLI", #import msado15.dll) instead of ODBC. In the same situation, I have not had to specify "MarsConn=yes".
I am confused/surprised. Is this correct/expected, or am I missing something?