程序运行几天后,出现运行时错误3343,不可识别的数据库格式'c:\history.mdb'

MingInCode 2007-12-26 03:23:48
//vb6.0 ,access2003,连接数据库的程序如下
Dim db As DAO.Database, rs As DAO.Recordset
Set db = DBEngine.OpenDatabase(App.Path & "\history.mdb")
Dim str As String
str = "...."
Set rs = db.OpenRecordset(str)
rs.AddNew
rs("his_date") = da
rs("dl_value") = i
rs("dy_value") = v(i)
rs.Update
//我用Wise打包成安装程序后,在客户的机器上运行,刚开始没问题。
//当程序运行几天后,总是报错(运行时错误3343,不可识别的数据库格式'c:\history.mdb')
//重装程序后运行几天又是这样。请大家帮忙!
...全文
1268 点赞 收藏 19
写回复
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
MingInCode 2008-01-15
非常感谢各位的捧场,唉,用户很不配合,让他把mdb文件发过来,我好看看是不是损坏了。到现在都没发,天天吹都没用。我那个程序访问数据库的次数不多,好几分钟才一次,数据也很简单,没有并发。谢谢大家了。分数不够,只能给一个人了,非常感谢大家。
回复
LCAAA 2008-01-02
好像和你机器上OFFICE的版本有关系。
回复
DAO没用过
ADO没用过
MDB.....知道,但也没用过-_-b

数据库的一切玩意都还没用过.....

所以以上说的四句话,加上现在这一句....纯粹是为了顶星星们的帖子.......
回复
lcsfxs 2007-12-28
打补丁6,或者换成低版本的OFFICE试试,呵呵
回复
of123 2007-12-28
首先还是要确定问题出在哪里。
1 把用户的数据库尝试用 Access 打开,看是否数据库文件损坏。
2 检查你在工程中的引用,是否 microsoft dao 3.6 object library?有无引用 dao 3.51 之处?
3 是否客户机器上的 DAO360.dll 是否丢失?
4 程序中是否采用 Data 控件访问数据库?它不能直接识别 Access 2000 格式(包括 Access 2003)数据库。

楼上各位,如果有人说 VB 过时了,你没准儿会愤怒。那么你为什么要说 DAO 过时了?你用过吗?
对于小巧轻便的数据库应用程序,DAO 非常适用,何况还有压缩修复功能。我有些项目是用 DAO 的,甚至多于 ADO。
回复
Tiger_Zhao 2007-12-28
用高版本的Access打开过的mdb,的确不能再用低版本的Access打开。
至于是否对DAO访问有影响,没有调查过,不发言。
回复
vbman2003 2007-12-28
mdb文件和office无关,只和jet的版本有关,没有安装office的电脑,一样可以运行VB+mdb数据库文件的程序
回复
hmh780210 2007-12-28
“程序中是否采用 Data 控件访问数据库?它不能直接识别 Access 2000 格式(包括 Access 2003)数据库。”----同意!以前发现用户用access2000打开了97的数据库又保存的,造成不能识别了。
不过,个人感觉,dao总用着不如ado灵活(虽然两个都用过)。
回复
anticlimax 2007-12-27
DAO已经过时了,用ADO连接,而不要用DAO
回复
饮水需思源 2007-12-27
建议将dao换成ado
如果对数据库的操作比较频繁或并发用户比较多建议将数据库换成sql
回复
Tiger_Zhao 2007-12-27
用Access打开,菜单“工具\数据库实用工具\压缩和修复数据库”试试能不能挽救。
回复
面包 2007-12-27
同意楼上的
回复
hmh780210 2007-12-27
可能是用户在数据库打开时还没有关闭就退出程序了,造成数据库损坏。最好换用ADO。
回复
vbman2003 2007-12-26
硬盘上有逻辑坏道?
回复
云路 2007-12-26
会不会是你程序有问题,写入了太多的临时数据,然后让数据库增得很大.
回复
MingInCode 2007-12-26
我重装程序后(.mdb是新的),运行几天又这样
回复
MingInCode 2007-12-26
应该不是吧,为什么修复以后运行几天又这样?
回复
vbman2003 2007-12-26
是不是mdb文件损坏了?修复下试试
回复
MingInCode 2007-12-26
忘了给高分了,谁要解决了,可以另给分,谢谢大家
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7453

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告