Database Visual Studio VB.NET数据库资源管理器“;未指定错误“;
我整天都在寻找解决这个问题的办法,但找不到一个有效的办法。基本上,我已经通过VisualStudio连接到Access数据库有一段时间了(我使用Access数据库是有原因的),但它突然无法连接。现在,每当我尝试添加数据库连接时,我都会收到“未指定的错误”。我在这里搜索过,读过MSDN,重新安装了VisualStudio,但似乎什么都没用。如果我转到“数据库浏览器”,更改为访问数据库,浏览文件,并点击“测试连接”/“确定”,我将收到错误。它也不是特定于文件的,它发生在所有人身上Database Visual Studio VB.NET数据库资源管理器“;未指定错误“;,database,vb.net,visual-studio-2010,ms-access,jet,Database,Vb.net,Visual Studio 2010,Ms Access,Jet,我整天都在寻找解决这个问题的办法,但找不到一个有效的办法。基本上,我已经通过VisualStudio连接到Access数据库有一段时间了(我使用Access数据库是有原因的),但它突然无法连接。现在,每当我尝试添加数据库连接时,我都会收到“未指定的错误”。我在这里搜索过,读过MSDN,重新安装了VisualStudio,但似乎什么都没用。如果我转到“数据库浏览器”,更改为访问数据库,浏览文件,并点击“测试连接”/“确定”,我将收到错误。它也不是特定于文件的,它发生在所有人身上 有什么想法吗?这里
有什么想法吗?这里确实需要一些帮助。在访问数据库的代码块周围放置一个try/catch,并检查返回的错误详细信息
Try
'Your code here
Catch ex as exception
msgbox(ex.Message)
Finally
'any code you want here like close connections etc
End Try
一旦您有了更多信息,请将其发布到此处,因为“未指定的错误”不会说明太多,您也没有发布任何代码,因此很难看到可能发生的情况。在访问数据库的代码块周围放置一个try/catch,并检查返回的错误详细信息
Try
'Your code here
Catch ex as exception
msgbox(ex.Message)
Finally
'any code you want here like close connections etc
End Try
一旦你有了更多的信息,请在这里发布,因为“未指定的错误”并不能说明太多,你也没有发布任何代码,因此很难看到可能发生的情况。一些想法可能会有所帮助:
- 确保您的项目明确针对x86代码,而不是x64或任何CPU。
Access Jet(
)仅在32位下工作,如果您使用ACE(对于新的.mdb
数据库格式),则可能也使用32位版本的驱动程序。.accdb
您不能混合使用32位和64位代码以及数据库驱动程序,只需确保所有内容都是一致的 - 您的安装可能已损坏。
如果您可以在另一台机器上执行相同的步骤,并且它在那里工作,那么您可能需要重新安装VS(尝试重新安装第一台,看看它是否解决了问题)
- 确保您的项目明确针对x86代码,而不是x64或任何CPU。
Access Jet(
)仅在32位下工作,如果您使用ACE(对于新的.mdb
数据库格式),则可能也使用32位版本的驱动程序。.accdb
您不能混合使用32位和64位代码以及数据库驱动程序,只需确保所有内容都是一致的 - 您的安装可能已损坏。
如果您可以在另一台机器上执行相同的步骤,并且它在那里工作,那么您可能需要重新安装VS(尝试重新安装第一台,看看它是否解决了问题)
Geoff我刚刚在连接MS Access 2013的VSB2013上遇到了这个问题 我也解决了它一点,我不完全理解为什么它会工作,它会有多稳定 注意-当我循环查看120条ish记录时,问题就出现了。该过程是“读取下一条记录”过程-读取下一条记录等。这些记录类似,处理该记录需要一些其他数据库读取。未指定的错误发生在记录/循环79上,但记录非常相似 在我的调查中,我发现下面的3个工作(即120ish周期发生时没有错误)-但显然前2个仅用于调试 解决方案1-工作原理)将msgbox插入循环-消息框报告即将处理的循环编号和记录密钥 解决方案2-WORKS)将msgbox替换为一行,该行使用Cr/Lf将相同的文本附加到“我的表单”的富文本框中 解决方案3-WORKS)将RTB更新替换为Threading.Thread.Sleep(15)行。调整睡眠的毫秒数表明,在我的代码中,15毫秒及以上的时间始终有效。小于等于9的值始终失败。介于10和14之间的值显示不一致的结果。 据我所知,sleep方法暂停循环,以允许其他事件和垃圾收集发生。这与我们在VB6之前使用的DoEvents类似吗 这是我所知道的。 当做
杰夫这一问题已经解决,但无法100%确定如何解决。以下是我的步骤:1)检查以确保平台已显式设置为x86 2)重新安装ACE驱动程序12.0 3)重新启动计算机,重新启动VS注意:此时,它仍然无法工作(非常令人沮丧)4)通过解决方案资源管理器,右键单击,添加现有项