随便几句

原创 2006年06月06日 21:16:00

看见别人都些Blog,从中吸取了许多有用的东东,自己也想写点,一是可以记录一些或许有价值的东西,另一方面遇到问题也可以发出来,让网上的众多高手帮忙解决。

今天将做的系统拿到企业实施,首先是小范围的,遇到的问题也不少,设置了主机,安装了数据库,将开发的系统安装到客户端,第一个就出现了问题,还好后面的没有问题,要不然真要Game Over了,查了一下,程序在XP下运行没问题,但在2000客户机上运行就出现程序中断的问题。上网查,终于搜到相同的症状,原来是这样的:

//////////////////////////////////////////////////////////////////////////////////////////

现象: 在开发机器上编译如下代码: #pragma warning(push)           // Needs to be done in order to suppress warning message #pragma warning(disable:4146)   // caused by bug in ADO (MS Knowledge Base article Q253317) #import "C:/Program Files/Common Files/system/ado/msado15.dll" /   no_namespace rename("EOF","adoEOF") #pragma warning(pop) ..... _CommandPtr pCmd = NULL; HRESULT hr = pCmd.CreateInstance("ADODB.Command"); 但是在客户的一台正常的Windows2000上却发生错误: Command指针创建失败,错误号:0x80004002,错误描述:没有此接口。 ·原因: 我们的开发机器上一般都装有MDAC2.7,这可能是因为装了SQL Server,也可能是WinXP自带的。 而客户机器上只有MDAC2.5。 由于微软的ADO开发小组习惯上总把ADO的最新版本命名为默认接口,如ADO2.5时将_Command25命名为_Command。 这样当你在MDAC2.7下编译VC代码,绑定的_Command的InterfaceID可能就是_Command2.7的接口ID。而在客户的MDAC2.5环境中 ,可能不存在这个接口ID,它的_Command的接口ID还是2.5的,和你的机器上的_Command接口ID肯定不一样。 所以以VC的方式创建_CommandPtr指针,是无法创建出来的。但是由于VB并不是绑定InterfaceID,所以VB中还可以正常创建ADO接口指针。 ·解决方法: 第一种:只在MDAC2.5环境下编译,并发布到MDAC2.5以上的客户环境中,但是WindXP就没有办法了; 第二种:强迫客户环境升级MDAC; 第三种:在MDAC2.7环境下编译,但是我们只明确表示创建Command25指针,如下所示: ADODB::Command25Ptr pCmdChange  = NULL; HRESULT hResult = pCmdChange.CreateInstance(__uuidof(ADODB::Command)); 第四种:选择使用OLEDB;

///////////////////////////////////////////////////////////////////////////

看了上面的一砣,知道了原因,但是解决起来觉得麻烦呀!

还好,小李子找到了更好的解决办法:

将原来的#import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename("EOF","adoEOF") 改成#import "c:/program files/common files/system/ado/msado20.tlb" no_namespace rename("EOF","adoEOF")

问题解决了 哈哈 。。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

随便聊几句关于UE3的Navigation Mesh

http://lichong.blogbus.com/logs/53924912.html UDK这次给公众看到的各种新功能里头,我个人比较感兴趣的一个就是其Navigation Mesh系...

随便聊几句EventBus

EventBus(github地址https://github.com/greenrobot/EventBus),是一个消息分发总线开源框架,可以方便地在android应用的不同组件之间进行消息通信。...

it受用的几句话

  • 2011-05-27 15:10
  • 651B
  • 下载

写给matlab新手的几句话

给年轻程序员的几句话

 我收到了不少新手的来信,他们都希望能成长为一名真正的程序员。我绝对不是第一个谈论这个话题的人,所以,我不知道应该做哪方面的补充。不管怎样,下面的是一些一直记在我心头的、有必...

写给MATLAB新手的几句话

  • 2014-09-14 13:06
  • 48KB
  • 下载

程序谏言 几句编程话

  • 2009-07-31 01:31
  • 139KB
  • 下载

和即将毕业的你们说几句掏心窝子的话

0.前言最近,之前班级的学生都陆陆续续开始准备找工作了。在欣慰之余,也对你们未来即将面临的职场生活有一丝丝担忧,就像我之前很喜欢的一首歌中唱的那样。 外面的世界很精彩, 外面的世界很无奈。 ...
  • MR_LP
  • MR_LP
  • 2016-09-22 12:34
  • 713

c语言几句话

  • 2013-06-13 23:46
  • 76KB
  • 下载

写给matlab新手的几句话

  • 2009-11-19 20:33
  • 37KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)