【发布时间】:2019-02-04 03:04:52
【问题描述】:
我最近有一个新项目分配给我(我是 C# 新手,而且我是大三学生)。它使用 Microsoft 访问数据库文件(.accdb 文件)
我已将项目导入 Visual Studio,但我无法终生运行代码。最初我遇到了文件注册问题,我想我设法通过让 IT 团队从 Microsoft 网站安装“2007 Office System Driver: Data Connectivity Components”驱动程序来解决这个问题。
鞠躬错误说:
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 访问打开)并输入了密码,访问数据没有问题)
【问题讨论】:
-
打开文件的代码是什么?
-
请不要在未发布代码的情况下询问有关代码的问题。您的同事是否使用相同的代码?这是连接到 ACCDB stackoverflow.com/questions/33642446/… 的代码示例,您看起来像这样吗?它有类似的连接字符串吗?特别是
Provider=Microsoft.ACE.OLEDB.12.0。您可能需要安装 ACE 驱动程序。 -
解决编码问题通常只是在您更具体地隔离问题之前解决问题。所以我建议首先尝试连接到一个空白的 ACCDB - 这行得通吗?如果是这样,接下来要做的就是尝试从 ACCDB 中删除密码并尝试。如果不是,那么它与您的特定 ACCDB 没有任何关系
-
你的连接字符串是什么?
-
我最初安装的ace驱动。问题确实与数据库文件有关。我创建了一个新的并导入了所有内容,现在似乎可以正常工作了
标签: c# database oledb oledbexception