- 2
- 0
- 约5.7千字
- 约 8页
- 2018-01-02 发布于河南
- 举报
数据库编程经验
数据库编程经验
1.OLE DB和ADO 2.5都是编程接口,可以提供与数据库服务器无关的通用数据访问手段。
OLE DB 作为一种编程接口,将 Microsoft 通用数据访问 (UDA) 策略的理论概念应用于实践。UDA 能够通过基于 COM 的单一编程接口来访问各种类型的数据,包括关系型、非关系型和层次结构型数据。
OLE DB 是作为一种组件技术而设计的,其特点是采用了多层模型。在 COM 桥的一侧是用于保留数据的服务器组件,另一侧则是了解如何连接和请求数据的客户端组件。前者称作 OLE DB 数据提供者;而后者则称作 OLE DB 使用者。
使用者和提供者都是 COM 对象,并能够通过一套 COM 接口互相通信。这种基于 COM 的通信可被概括为在抽象对象(如 DataSource、Session、Command 和 Rowset)上执行的操作。因此,当使用者连接到 DataSource,打开 Session,发出 Command,并返回数据 Rowset 时,便会出现这种情况。
ODBC 的这一进化使 UDA 和 OLE DB 添加了一种功能,这种功能就像一个简单的关系表一样,将所有的企业数据粘合在一起,不论它们是关系型、非关系型还是层次结构型。
与 ODBC 相比,OLE DB 对数据物理结构的依赖更少。此外,它不必严格基于 SQL。OLE DB 命令可以是 SQL 语句,也可以是其他的一些东西。总的说来,可以将它们看作以任何能够为目标提供者理解的语法写成的文本字符串。
像 ODBC 一样, OLE DB 采用 C++ 的概念进行设计,以尽可能提高中间层模块数据访问的性能。基于同样的原因,OLE DB 不能直接在 Visual Basicreg; 或 ASP 中使用。
而不计其数的分布式系统却是使用 Visual Basic 来生成组件的。这就是 Microsoft 引入 ActiveXreg; 数据对象 (ADO) 库的主要原因。
ADO 的编程接口比原始的 OLE DB SDK 更加丰富。虽然在 C++ 应用程序中使用 ADO 是完全可行的,但是 OLE DB 调用经过的代码层次较少,与相应的 ADO 代码相比,能更直接地到达数据。
虽然 ADO 很明显是在 OLE DB 上生成的,但是调用原始 OLE DB 接口和通过 ADO 运行时发出的调用具有不同的相对速度。这一事实导致了语言之间的差异。哪一种更好、更值得推荐呢?是 OLE DB 的 C++ 高性能层次还是 Visual Basic 组件中更简单、更友好的 ADO 模型?
2.ADO比较慢。VC中直接使用OLE DB和ADO在插入大量数据时明显不一样。
3.添加OLE DB的方法:(主要用到的是OLE Db的recordset)
在new project的过程中选择DataSource with file support-OLE DB-选择设置InitCatalog,UID,PWD,等等,MFC自动为你生成了recordset,类似ODBC的Recordset方法:
以real_db中的Fac_table为例,会生成CFAC_table和class CMyOleDbSet : public CCommandCAccessorCFac_table
class CMyOleDbSet : public CCommandCAccessorCFac_table
{
public:
HRESULT Open()
{
CDataSource db;
CSession session;
HRESULT hr;
CDBPropSet dbinit(DBPROPSET_DBINIT);
dbinit.AddProperty(DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO, false);//表示数据库对象坚持需要加密形式的敏感认证信息如密码和其他加密信息,对于Acess OLE DB Jet 4.0,需要删除此句话.李斌
dbinit.AddProperty(DBPROP_AUTH_USERID, sa);
dbinit.AddProperty(DBPROP_INIT_CATALOG, real_db);
dbinit.AddProperty(DBPROP_INIT_DATASOURCE, FREEDOM);//ODBC数据源名称或服务器名
dbinit.AddProperty(DBPROP_INIT_LCID, (long)2052);
dbinit.AddProperty(DBPROP_INIT_PROMPT, (short)4);//指定在连接到数据源时所使用的提示方式
//h
您可能关注的文档
- 怎样才是合身的信息化.doc
- 怎样用英语安慰人.doc
- 怎样练习一万小时?--天才必成法则!.doc
- 怎样编辑win7的启动菜单.doc
- 怎样读懂古代诗歌.doc
- 怎样选购数码照相机.doc
- 思科,联想,微软三大公司简介.doc
- 性格的英语单词.doc
- 怪物猎人2攻略.doc
- 总务后勤管理系统论文.doc
- 全过程工程管理造价咨询工程监理项目服务方案投标方案(技术部分).doc
- 招标代理服务投标技术服务方案(技术方案).doc
- AI大模型与AIGC技术在公安领域的应用解决方案(99页 PPT).pptx
- 工业4.0智能制造数字工厂规划方案.pptx
- 树立社会主义核心价值观.docx
- 三年(2023-2025)中考历史真题分类汇编(全国)专题21 科技文化与社会生活(解析版).docx
- 2025年中考道德与法治真题完全解读(吉林卷).pdf
- 2025年中考道德与法治真题完全解读(安徽卷).pdf
- 三年(2023-2025)中考历史真题分类汇编(全国)专题14 人民解放战争(解析版).pdf
- 三年(2023-2025)广东中考历史真题分类汇编:专题03 中国近代史(八年级上册)(解析版).docx
原创力文档

文档评论(0)