日期:2014-05-19  浏览次数:20958 次

C#程序在WIN2003下编译运行正常,在XP下安装后运行提示错误
WINFORM程序,用的ACCESS数据库,WIN2003下生成运行一切正常,安装到XP下就运行出错了。

XP下没有装ACCESS(问过这里的朋友说不用装也能读*.mdb文件),不知道这错误到底是如何引起的,忘朋友们帮忙,感谢不尽~~~555


System.Data.OleDb.OleDbException:No   error   message   available,result   code:
REGDB_E_CLASSNOTREG(0x80040154).
  at   System.Data.OleDb.OleDbConnectionInternal.ctor(OleDbConnetionString  

constr,OleDbconnection   connection)

  at   System.data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions  

options,Object   poolCroupProviderInfo,DbConnectionPool   pool,DbConnection   owningObject)

....

连接字符串是肯定没问题的:
private   string   connstr   =   @ "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= "+Environment.CurrentDirectory+ "\\TongLi.mdb ";

不知道XP下为什么不行,望达人解惑~

------解决方案--------------------
友情帮`~~
本人都运行正常。.没见过这样的错误
------解决方案--------------------
看提示信息还是数据连接或访问出现的问题,装了试验一下
------解决方案--------------------
mark...
------解决方案--------------------
把放置数据库的文件夹设置成完全共享看看
------解决方案--------------------
如果还是不行,你安装Access看看
------解决方案--------------------
估计是放置数据库的文件夹的访问权限的原因。设置成任何人都能读写看看。
------解决方案--------------------
你的安装程序里面打包了Microsoft.Jet.OLEDB.4.0么?
------解决方案--------------------
private string connstr = @ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "+Environment.CurrentDirectory+ "\\TongLi.mdb ";
=========================
不用装Access,不等说不用装Microsoft.Jet.OLEDB.4.0啊,
你的连接字符串中明确用到了它,你看看你的机子里有没有这个驱动。

装个MDAC (Microsoft Data Access Components)再试试
------解决方案--------------------
up
------解决方案--------------------
mark