2012年软考程序员辅导vc中用ado连接oracle的方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

本文章是来自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)在编译的时候肯能会出现如下警告,对此微软在MSDN中作了说明,并建议我们不要理会这个警告。msado15.tlh(405):warningC4146:unaryminusoperatorappliedtounsignedtype,resultstillunsigned2、初始化OLE/COM库环境必须注意的是,ADO库是一组COM动态库,这意味应用程序在调用ADO前,必须初始化OLE/COM库环境。在MFC应用程序里,一个比较好的方法是在应用程序主类的InitInstance成员函数里初始化OLE/COM库环境。BOOLCMyAdoTestApp::InitInstance(){if(!AfxOleInit())//这就是初始化COM库{AfxMessageBox(“OLE初始化出错!”);本文章是来自returnFALSE;}}3.ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。与数据库的连接就是用_ConnectionPtr接口,它的连接字符串可以是自己直接写,也可以指向一个ODBCDSN.以下的例子都测试通过,顺便写了SQLServer的例子。BOOLCTestconDlg::ConnectDatabase(){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_pConnection-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配置数据源//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微软格式//connStr=“Provider=MSDAORA.1;UserID=njcrm;Password=crmdbo;DataSource=192.168.0.24;PersistSecurityInfo=False”;//m_pConnection-Open(_bstr_t(connStr),(_bstr_t)_T(“”),(_bstr_t)_T(“”),adConnectUnspecified);//end---------------Oracle微软格式本文章是来自//begin---------------Oracle微软格式变量connStr=“Provider=OraOLEDB.Oracle;PersistSecurityInfo=False;DataSource=”+m_server;m_pConnection-Open(_bstr_t(connStr),(_bstr_t)m_uid,(_bstr_t)m_pwd,adConnectUnspecified);//end---------------Oracle微软格式变量//begin---------------Oracle信任连接1//connStr=“Provider=MSDAORA.1;UserID=/;Password=;DataSource=192.168.0.24;PersistSecurityInfo=False”;//m_pConnection-Open(_bstr_t(connStr),(_bstr_t)_T(“”),(_bstr_t)_T(“”),adConnectUnspecified);//end---------------Oracle信任连接1//begin---------------Oracle信任连接2//connStr=“Provider=MSDAORA.1;OSAuthent=1;DataSource=192.168.0.24;PersistSecurityInfo=False”;//m_pConnection-Open(_bstr_t(connStr),(_bstr_t)m_uid,(_bstr_t)m_pwd,adConnectUnspecified);//end---------------Oracle信任连接2//begin---------------SQLServerODBC配置数据源//connStr=“DSN=new_kh_wh”;//m_pConnection-Open(_bstr_t(connStr),(_bstr_t)_T(“sa”),(_bstr_t)_T(“”),adConnectUnspecified);//end---------------SQLServerODBC配置数据源本文章是来自//begin---------------SQLServer//connStr=“driver={SQLServer};Server=192.168.0.24;DATABASE=new_kh_bb;Uid=sa;Pwd=;”;//m_pConnection-Open(_bstr_t(connStr),(_bstr_t)_T(“”),(_bstr_t)_T(“”),adConnectUnspecified);//end---------------SQLServerretFt=true;}}catch(_com_errore)///捕捉异常{CStringerrormessage;errormessage.Format(“连接数据库失败!\r\n错误信息:%s”,e.ErrorMessage());AfxMessageBox(errormessage);///显示错误信息retFt=false;}returnretFt;}

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功