当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
2015年软件水平考试程序员辅导笔记之vc中用ado连接oracle的方法
发布时间:2012/5/21 15:19:00 来源:城市网学院 编辑:ziteng
  -
  在操作ado毗连数据库之前,需要做一些筹备
  1.用#import指令惹人ADO类型库
  我们在stdafx.h中插手如下语句:
  #import “c:program filescommon filessystemadomsado15.dll” no_namespace rename(“EOF”,“adoEOF”) .
  这一语句有何浸染呢?其最终浸染同我们熟悉的#i nclude近似,编译的时辰系统会为我们生成msado15.tlh,ado15.tli两个C++头文件来界说ADO库。
  几点声名:
  (1) 您的情形中msado15.dll不必然在这个目录下,请按现实情形改削
  (2) 在编译的时辰肯能会呈现如下警告,对此微软在MSDN中作了声名,并建议我们不要理会这个警告。msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
  2、初始化OLE/COM库情形
  必需注重的是,ADO库是一组COM动态库,这意味应用轨范在挪用ADO前,必需初始化OLE/COM库情形。在MFC应用轨范里,一个斗劲好的体例是在应用轨范主类的InitInstance成员函数里初始化OLE/COM库情形。
  BOOL CMyAdoTestApp::InitInstance()
  {
  if(!AfxOleInit())//这就是初始化COM库
  {
  AfxMessageBox(“OLE初始化犯错!”);
  return FALSE;
  }
  }  3.ADO库包含三个根基接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。与数据库的毗连就是用_ConnectionPtr接口,它的毗连字符串可所以自己直接写,也可以指向一个ODBC DSN.以下的例子都测试经由过程,顺便写了SQL Server的例子。
  BOOL CTestconDlg::ConnectDatabase()
  {
  CString m_server,m_data,m_uid,m_pwd;
  m_server=“192.168.0.24”;//处事器ip或名称
  m_data=http://www.qnr.cn/pc/rj/chuji/cxyzl/201204/“crmdb”;//ODBC数据源
  m_uid=“njcrm”;//用户名
  m_pwd=“crmdbo”;//密码
  BOOL retFt=false;
  HRESULT hr;
  try
  {
  hr = m_pConnection.CreateInstance(“ADODB.Connection”);///建树Connection对象
  if(SUCCEEDED(hr))
  {
  _bstr_t connStr;
  m_pConnection->CursorLocation=adUseClient;
  //begin---------------Oracle ODBC 设置装备摆设数据源  //节制面板->打点工具->数据源(ODBC)->系统DNS->添加->Microsoft ODBC for Oracle->完成->设置装备摆设…… [NextPage]   // connStr=“DSN=”+m_data;
  // m_pConnection->Open(_bstr_t(connStr),(_bstr_t)m_uid,(_bstr_t)m_pwd,adConnectUnspecified);
  //end---------------Oracle ODBC 设置装备摆设数据源
  //begin---------------Oracle 尺度平安级别
  // connStr=“Provider=OraOLEDB.Oracle;User ID=njcrm;Password=crmdbo;Data Source=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;User ID=njcrm;Password=crmdbo;Data Source=192.168.0.24;Persist Security
  Info=False”;
  // m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(“”),(_bstr_t)_T(“”),adConnectUnspecified);
  //end---------------Oracle 微软名目
  //begin---------------Oracle 微软名目 变量
  connStr=“Provider=OraOLEDB.Oracle;Persist Security Info=False;Data Source=”+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;User ID=/;Password=;Data Source=192.168.0.24;Persist Security
  Info=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;Data Source=192.168.0.24;Persist Security Info=False”;
  // m_pConnection->Open(_bstr_t(connStr),(_bstr_t)m_uid,(_bstr_t)m_pwd,adConnectUnspecified);
  //end---------------Oracle 信赖毗连2
  //begin---------------SQLServer ODBC设置装备摆设数据源
  // connStr=“DSN=new_kh_wh”;
  // m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(“sa”),(_bstr_t)_T(“”),adConnectUnspecified);
  //end---------------SQLServer ODBC设置装备摆设数据源
  //begin---------------SQLServer
  // connStr=“driver={SQL Server};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---------------SQLServer
  retFt= true;
  }
  }
  catch(_com_error e)///捕捉异常
  {
  CString errormessage;
  errormessage.Format(“毗连数据库失踪败!\r\n错误信息:%s”,e.ErrorMessage());
  AfxMessageBox(errormessage);///显示错误信息
  retFt= false;
  }
  return retFt;
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved