Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Visual Studio VB.NET数据库资源管理器“;未指定错误“;_Database_Vb.net_Visual Studio 2010_Ms Access_Jet - Fatal编程技术网

Database Visual Studio VB.NET数据库资源管理器“;未指定错误“;

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,但似乎什么都没用。如果我转到“数据库浏览器”,更改为访问数据库,浏览文件,并点击“测试连接”/“确定”,我将收到错误。它也不是特定于文件的,它发生在所有人身上 有什么想法吗?这里

我整天都在寻找解决这个问题的办法,但找不到一个有效的办法。基本上,我已经通过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(
    .mdb
    )仅在32位下工作,如果您使用ACE(对于新的
    .accdb
    数据库格式),则可能也使用32位版本的驱动程序。
    您不能混合使用32位和64位代码以及数据库驱动程序,只需确保所有内容都是一致的

  • 您的安装可能已损坏。
    如果您可以在另一台机器上执行相同的步骤,并且它在那里工作,那么您可能需要重新安装VS(尝试重新安装第一台,看看它是否解决了问题)


一些可能有用的想法:

  • 确保您的项目明确针对x86代码,而不是x64或任何CPU。
    Access Jet(
    .mdb
    )仅在32位下工作,如果您使用ACE(对于新的
    .accdb
    数据库格式),则可能也使用32位版本的驱动程序。
    您不能混合使用32位和64位代码以及数据库驱动程序,只需确保所有内容都是一致的

  • 您的安装可能已损坏。
    如果您可以在另一台机器上执行相同的步骤,并且它在那里工作,那么您可能需要重新安装VS(尝试重新安装第一台,看看它是否解决了问题)


我在连接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类似吗

这是我所知道的。 当做
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)通过解决方案资源管理器,右键单击,添加现有项