关闭

“ODBC驱动程序不支持动态记录集”错误的解决

标签: library数据库objectdll编程null
5298人阅读 评论(2) 收藏 举报
分类:

         

 在使用VC进行数据库编程时我遇到一个问题。代码编译通过,在运行时突然弹出一个警告对话框,如下图:

    

我纳闷在哪里出了问题。我想唯一有可能的是连接数据库时出现了问题。于是我找到连接数据库的代码:

m_pdatabase->Open(NULL,FALSE,FALSE,"ODBC;DSN=libraryMIS;UID=txm;PWD=txm");

其中m_pdatabase是一个CDatabase类的指针。于是我查msdn,找到CDatabaseOpen函数。CDatabase::Open

virtual BOOL Open( LPCTSTR lpszDSN, BOOL bExclusive = FALSE, BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = “ODBC;”, BOOL bUseCursorLib = TRUE );
throw( CDBException, CMemoryException );

   我猜到问题可能出在哪儿了,我在BOOL bUseCursorLib设置了默认值TRUE。我得先看看bUseCursorLib表示什么意义。bUseCursorLib

 

TRUE if you want the ODBC Cursor Library DLL to be loaded. The cursor library masks some functionality of the underlying ODBC driver, effectively preventing the use of dynasets (if the driver supports them). The only cursors supported if the cursor library is loaded are static snapshots and forward-only cursors. The default value is TRUE. If you plan to create a recordset object directly from CRecordset without deriving from it, you should not load the cursor library.

  大意是说假如bUseCursorLibTRUE时,ODBC光标库将被加载。光标库会覆盖ODBC驱动程序的一些功能,有效地阻止动态记录集的使用(假如ODBC驱动程序支持动态记录集的使用的话)。假如光标库被加载唯一的光标支持的是静态快照集和唯一向前的光标。参数默认值是TRUE。假如你直接创建一个CRecordset类对象而不是继承自它,你不应该装载光标库。

   因此问题的解决办法是将bUseCursorLib的值设为FALSE。当我这样做了,问题解决了。

 

 

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

解决64位win7系统IIS7[ODBC 驱动程序管理器]未发现数据源名称并且未指定默认驱动程序

asp+sql 2000 系统,同过excel批量上传时报如下错误: Microsoft OLE DB Provider for ODBC Drivers 错误 ’80004005′ [Mic...
  • qianjin_40
  • qianjin_40
  • 2015-06-27 22:29
  • 1636

在指定的 DSN 中,ODBC驱动程序和应用程序之间的体系结构不匹配解决方法

今天中午想要用ODBC完成access数据库连接,意外发现异常:弹出另一个错误:在网上查了一下,有的说是office和windows7的位数不匹配,一个是32位,一个64位的,可是我的问题不是如此。 ...
  • qq_18149897
  • qq_18149897
  • 2015-11-08 15:01
  • 5774

sybase ASA windows 64位操作系统的OLE DB与ODBC连接问题解答案

February 2011 Edition Working with ODBC DataSources on Microsoft® Windows® (32-bit versus 64-bit) ...
  • mfkpie
  • mfkpie
  • 2014-05-13 00:21
  • 4174

ASP连接ACCESS数据库提示ODBC 驱动程序不支持所需的属性怎么解决

login.asp: 连接文件connect.asp: 文件目录树: 错误信息: 数据库是这样的: 此类错误一般出现于文件...
  • andyjiang2008
  • andyjiang2008
  • 2014-11-22 13:18
  • 1005

(2)提示错误:当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。

还是win xp,iis,acess2003,dreamweaver8的环境。   问题: access2003数据库可以查询,但执行插入、修改时都无效,“当前记录集不支持更新。这可能是...
  • ccmm_0607
  • ccmm_0607
  • 2011-09-16 15:38
  • 2690

[Microsoft][ODBC 驱动程序管理器] 未发现数据源 解决方法!

在Windows Server 2003 上安装 MS SQL Server 2000 标准版时,出现“[Microsoft][ODBC 驱动程序管理器] 未发现数据源”,具体提示为:########...
  • gaigai147
  • gaigai147
  • 2011-07-20 15:21
  • 2341

Visual C++ ODBC 参数化记录集查询设计

ODBC通过RFX自动完成数据源和记录集对象之间的数据传输交换,而通过DDX对话框数据交换实现记录集数据和窗体控件的绑定。本文给出了一个通过GetDefaultSQL的方法设计了一个简单的查询,不过这...
  • feiskyer
  • feiskyer
  • 2012-09-29 09:53
  • 591

ADO访问数据库时的关于 "未发现数据源并且未指定默认驱动程序" 的错误的解决方案

当我们利用ADO数据库访问方式来访问数据库时,可能会遇到一些很头疼的问题. 我在这里对于用ADO访问SQL Server数据库时遇上的未发现数据源并且未指定默认驱动程序的问题作出介绍,如有不正,...
  • u014752853
  • u014752853
  • 2014-04-16 20:05
  • 1280

打开/dev/fb0时“No such device”错误解决方法:激活 VESA FrameBuffer 驱动程序

在使用Linux系统函数mmap(),将FrameBuffer映射到内存上来实现一个简单的贪吃蛇游戏时,在自己的Redhat 6.4上测试时,运行程序结果却提示:“No such device”。可是...
  • Apollon_krj
  • Apollon_krj
  • 2017-04-14 22:42
  • 936

Microsoft[ODBC SQL Server 驱动程序][TCP/IP 套接字]SQL Server 不存在或者访问被拒绝。

您可能无法连接到的 TCP/IP 端口通过 Windows Server 2003 的计算机安装的实例的 SQL Server 2000 Service Pack 2 或更早版本 文章编号: 884...
  • keepAction
  • keepAction
  • 2013-05-01 17:16
  • 1096
    个人资料
    • 访问:4060635次
    • 积分:46208
    • 等级:
    • 排名:第76名
    • 原创:772篇
    • 转载:80篇
    • 译文:3篇
    • 评论:2476条
    公告


    真名:朱金灿
    主要经历:本科毕业于CUG(武汉)的GIS专业,毕业后参加工作,现在在北京从事软件开发和团队管理工作。曾获有色金属工业科技进步奖二等奖(获奖证书链接)。
    我的联系方式:
    EMAIL:clever101#163.com
    研究方向:
    数字图像处理、计算机图形学。

    本博客内容除非特殊说明均属原创,如需转载、引用其中的部分文字,请注意以下几点:

    1)如果我的博客侵犯了你的版权,请给我邮件:clever101#163.com,经核实后我会做出合适的处理。

    2)请在转载(引用)的内容提供本博客中相应文章的链接。如你的作品为非电子读物或纯文本,请给出链接的url。

    3)请勿将我的原创文章用于商业用途。

    4)如果愿意,请给我邮件:clever101#163.com,让我知道我的东西到哪去了。谢谢!

    5)我可以尽我所能回复你在评论中提到的问题,但一般不会给你发邮件,所以请勿留邮箱地址.

    文章存档
    最新评论