ADO:采用Connection对象建立与Oracle数据库之间的连接

前端之家收集整理的这篇文章主要介绍了ADO:采用Connection对象建立与Oracle数据库之间的连接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
①、使用 Connection 对象进行打开连接操作时,基本的步骤如下:
⑴、【属性】设置 ConnectionString 连接属性,ConnectionString 是连接字符串,是由一些列分号间隔的语句的连接字符串组成,用于指定连接数据源的信息,数据源不同,连接的字符串也不同;
⑵、【属性】设置 ConnectionTimeout 连接超时属性,单位为秒,默认是 15 秒,如果设置为 0,则 ADO 无限等待,直到连接打开;
⑶、【方法调用 Open 方法,建立到数据源的连接,Open 方法函数声明如下:
HRESULT Open(_bstr_t ConnectionString,
_bstr_t UserID,
_bstr_t Password,
long Options )

参数意义如下:
ConnectionString 可选参数,类型为字符串,包含连接信息,如果设置了 ConnectionString 属性,那么其他的两个参数就可以不设置了;
UserID 可选参数,字符串,包含建立连接时所使用的用户名
Password 可选参数,字符串,包含建立连接时所使用的密码;
Option 可选参数,决定该方法是在连接建立后(异步)还是连接建立之前(同步)返回,可以设定如下两个常量:
adConnectUnsepecified(同步)和 adAsyncConnect(异步);

⑷、【方法调用 Close 方法关闭与数据源的连接。


建立连接:

BOOL CRentMgrDlg::ConnectDB()
{
	HRESULT hr;
	try
	{
		//实例化connection对象
		hr = m_pConnection.CreateInstance(__uuidof(Connection));

		if (SUCCEEDED(hr))
		{
			//设置连接超时属性
			m_pConnection->ConnectionTimeout = 20;

			//连接字符串
			_bstr_t connectstr = _T("Provider=MSDAORA.1;Password=312;User ID=t;Data Source=t;Persist Security Info=True");

			//使用智能指针Connection的open方法建立连接
			hr = m_pConnection->Open(connectstr,_T(""),adConnectUnspecified);

			if (Failed(hr))
			{
				MessageBox(_T("Open()打开与数据库的连接失败!"));
				return FALSE;
			}
		}
		else
		{
			MessageBox(_T("实例化connection对象失败!"));
			return FALSE;
		}
	}
	catch (_com_error &e)
	{
		_bstr_t bstrSource(e.Source());
		_bstr_t bstrDescription(e.Description());
		MessageBox(bstrDescription,bstrSource);
		return FALSE;
	}
	MessageBox(_T("成功"));
	return TRUE;
}

断开连接:

void CRentMgrDlg::CloseDB()
{
	if (m_pConnection && m_pConnection->State == adStateOpen)
	    m_pConnection->Close();
}
原文链接:https://www.f2er.com/oracle/206186.html

猜你在找的Oracle相关文章