新的C#项目无法打开ACCDB微软数据库文件

时间:2019-02-04 03:04:52

标签: c# database oledb oledbexception

我最近分配了一个新项目(我是C#的新手,还是大三)。它利用了Microsoft Access数据库文件(.accdb文件)

我已经将项目导入到Visual Studio中,但是我一生都无法运行代码。最初,我遇到了文件注册问题,并且我认为可以通过让IT团队从Microsoft网站安装“ 2007 Office System驱动程序:数据连接组件”驱动程序来解决此问题。

出现错误提示:

System.Data.OleDb.OleDbExceptions: 'Cannot open database''. It may not be a database that your application recognizes, or the file may be corrupt.'

我要帮助的团队只有一个开发人员(在另一个国家工作),是处理代码的主要人员。它对她有效,但她实际上没有经验来帮助我解决此问题。

我尝试将她的数据库文件发送给她,以便她将其文件替换为我的文件,她说它仍在工作,所以听起来问题可能与该文件无关?

如果可以的话,我能得到什么帮助吗?到目前为止,我唯一的方法是继续搜索错误。

但是我看到的唯一解决方法是数据库文件接近其文件大小限制(2GB)的人。我的数据库文件只有1MB。

数据库文件受密码保护(密码恰好在代码中)。我打开了数据库文件(Microsoft访问打开),并输入了密码,访问数据没有问题)

1 个答案:

答案 0 :(得分:0)

很幸运,我设法找到了对我有帮助的文章!

Microsoft Access数据库文件的问题是我相信一次只有一个用户真正可以使用。

我看到一个论坛,讨论其他用户的潜在锁定。我用谷歌搜索了如何删除锁,但似乎不是锁问题(Microsoft创建了我没有的锁文件)。

无论如何,我认为问题仍然有些相似。由于可以在Microsoft Access中访问数据库,因此我决定打开一个新数据库,然后转到“外部数据”选项卡,然后单击“访问”以从另一个文件导入一切。然后,我只是重命名为旧文件,并给我的新文件起了原来的名字。

我重新运行了代码,它起作用了!

我不知道为什么其他开发者打开文件没有问题。我的假设是,因为她是唯一的开发人员,所以她的笔记本电脑已经以某种方式“设置”以正常运行所有内容,而如果有人尝试过(或者是否发生了某些事情,而她不得不在新笔记本电脑上重新打开代码) ),他们将不得不尝试复制“设置”或尝试从头开始工作

希望这会有所帮助