欢迎来到天天文库
浏览记录
ID:59100471
大小:37.00 KB
页数:5页
时间:2020-09-15
《2012年软考程序员辅导vc中用ado连接oracle的方法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2012年软考程序员辅导:vc中用ado连接oracle的方法在利用ado连接数据库之前,需要做一些准备 1.用#import指令引入ADO类型库 我们在stdafx.h中加入如下语句: #import“c:programfilescommonfilessystemadomsado15.dll”no_namespacerename(“EOF”,“adoEOF”). 这一语句有何作用呢?其最终作用同我们熟悉的#include类似,编译的时候系统会为我们生成msado15.tlh,ado15.tli两个C++头文件来定义ADO库。 几点说明: (1)您的环境中msado15.dll
2、不一定在这个目录下,请按实际情况修改 (2)在编译的时候肯能会出现如下警告,对此微软在MSDN中作了说明,并建议我们不要理会这个警告。msado15.tlh(405):warningC4146:unaryminusoperatorappliedtounsignedtype,resultstillunsigned 2、初始化OLE/COM库环境 必须注意的是,ADO库是一组COM动态库,这意味应用程序在调用ADO前,必须初始化OLE/COM库环境。在MFC应用程序里,一个比较好的方法是在应用程序主类的InitInstance成员函数里初始化OLE/COM库环境。 BOOLCMyAdo
3、TestApp::InitInstance() { if(!AfxOleInit())//这就是初始化COM库 { AfxMessageBox(“OLE初始化出错!”); returnFALSE; } } 3.ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。与数据库的连接就是用_ConnectionPtr接口,它的连接字符串可以是自己直接写,也可以指向一个ODBCDSN.以下的例子都测试通过,顺便写了SQLServer的例子。 BOOLCTestconDlg::ConnectDatabase() {
4、 CStringm_server,m_data,m_uid,m_pwd; m_server=“192.168.0.24”;//服务器ip或名称 m_data=“crmdb”;//ODBC数据源 m_uid=“njcrm”;//用户名 m_pwd=“crmdbo”;//密码 BOOLretFt=false; HRESULThr; try { hr=m_pConnection.CreateInstance(“ADODB.Connection”);///创建Connection对象 if(SUCCEEDED(hr)) { _bstr_tconnStr; m_pConn
5、ection->CursorLocation=adUseClient; //begin---------------OracleODBC配置数据源 //控制面板->管理工具->数据源(ODBC)->系统DNS->添加->MicrosoftODBCforOracle->完成->配置…… //connStr=“DSN=”+m_data; //m_pConnection->Open(_bstr_t(connStr),(_bstr_t)m_uid,(_bstr_t)m_pwd,adConnectUnspecified); //end---------------OracleODBC配置数
6、据源 //begin---------------Oracle标准安全级别 //connStr=“Provider=OraOLEDB.Oracle;UserID=njcrm;Password=crmdbo;DataSource=192.168.0.24;”; //m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(“”),(_bstr_t)_T(“”),adConnectUnspecified); //end---------------Oracle标准安全级别 //begin---------------Oracle微软格式 //
7、connStr=“Provider=MSDAORA.1;UserID=njcrm;Password=crmdbo;DataSource=192.168.0.24;PersistSecurity Info=False”; //m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(“”),(_bstr_t)_T(“”),adConnectUnspecified); //end
此文档下载收益归作者所有