多线程操作数据库
vc6.0连接SQLServer2000,初始化com接口用的 ::CoInitializeEx(NULL,COINIT_MULTITHREADED);
其中有个表主线程和另一个线程(管他叫2吧)都要不断读取,其中线程2是要往表里写东西,主线程是只读,所以主线程中打开记录集时我传的参数是:hr = recordset->Open(m_CommandString,vNull,adOpenKeyset, adLockReadOnly, adCmdText);,而线程2打开时传的参数为:hr = recordset->Open(m_CommandString,vNull,adOpenKeyset, adLockOptimistic, adCmdText);,但是程序运行时仍会有报错,有时会说被另一个线程占用 hsmt什么的,有时会说ODBC不支持此种类型的操作,而有时候又会成功(猜想是没有同时读取),请问这是怎么回事?该怎么样解决呢?非常感谢!!