#include "stdafx.h"
#include "atldbcli.h"int _tmain(int argc, _TCHAR* argv[])
{
CoInitialize(NULL); CDataSource m_DataSource;
CDBPropSet DBInit(DBPROPSET_DBINIT); DBInit.AddProperty(DBPROP_INIT_DATASOURCE, OLESTR("localhost"));
DBInit.AddProperty(DBPROP_AUTH_USERID, OLESTR("sa"));
DBInit.AddProperty(DBPROP_AUTH_PASSWORD, OLESTR(""));
DBInit.AddProperty(DBPROP_INIT_LCID, (long)2052);
DBInit.AddProperty(DBPROP_INIT_CATALOG, OLESTR("master")); HRESULT h=m_DataSource.Open(_T("SQLOLEDB.1"), &DBInit);
m_DataSource.Close(); CoUninitialize();
return 0;
}程序目的测试连接不成功状态,sa其实有密码,故连接不成功,但程序在退出后,看结果:
“22222.exe”: 已卸载“C:\Program Files\Common Files\System\Ole DB\sqloledb.dll”
“22222.exe”: 已卸载“C:\Program Files\Common Files\System\Ole DB\msdatl3.dll”
22222.exe 中的 0x1f8b06a9 处最可能的异常: 0xC0000005: 读取位置 0x00000008 时发生访问冲突 。
“22222.exe”: 已卸载“C:\Program Files\Common Files\System\Ole DB\oledb32.dll”
“22222.exe”: 已卸载“C:\WINNT\system32\msdart.dll”
“22222.exe”: 已卸载“C:\WINNT\system32\COMDLG32.DLL”
“22222.exe”: 已卸载“C:\WINNT\system32\SHELL32.DLL”
22222.exe 中的 0x77a5ed7b 处最可能的异常: 0xC0000005: 读取位置 0x020d65a0 时发生访问冲突 。
线程 'Win32 线程' (0x165c) 已退出,返回值为 0 (0x0)。
线程 'Win32 线程' (0x1660) 已退出,返回值为 0 (0x0)。
线程 'Win32 线程' (0x1664) 已退出,返回值为 0 (0x0)。
程序“[5708] 22222.exe: 本机”已退出,返回值为 0 (0x0)。明显有2处异常,请问原因