Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.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
VS2010 vb.NET:System.invalidOperationException:the';微软.ACE.OLEDB.12.0';提供程序未在本地计算机上注册_Vb.net_Visual Studio 2010_Xlsx - Fatal编程技术网

VS2010 vb.NET:System.invalidOperationException:the';微软.ACE.OLEDB.12.0';提供程序未在本地计算机上注册

VS2010 vb.NET:System.invalidOperationException:the';微软.ACE.OLEDB.12.0';提供程序未在本地计算机上注册,vb.net,visual-studio-2010,xlsx,Vb.net,Visual Studio 2010,Xlsx,早上好 我正在编写一个vb.NET表单应用程序,该应用程序将读取选定的.xlsX文件并将其内容导入SQL2012数据库。因为文件位于不同的文件夹中,并且格式也不同,所以我必须编写它,以便每个文件夹的内容都由其自己的专用模块处理。但是,每个文件夹中的一个共同点是我需要经历的过程,即打开每个文件,将其内容读入数据表,执行所需的任何操作(即删除空行),然后在将原始文件移动到存档位置之前,运行SqlBulkCopy将数据加载到SQL中 到目前为止,一切顺利。我已经编写并成功运行了其中的三个模块,但是第四

早上好

我正在编写一个vb.NET表单应用程序,该应用程序将读取选定的.xlsX文件并将其内容导入SQL2012数据库。因为文件位于不同的文件夹中,并且格式也不同,所以我必须编写它,以便每个文件夹的内容都由其自己的专用模块处理。但是,每个文件夹中的一个共同点是我需要经历的过程,即打开每个文件,将其内容读入数据表,执行所需的任何操作(即删除空行),然后在将原始文件移动到存档位置之前,运行SqlBulkCopy将数据加载到SQL中

到目前为止,一切顺利。我已经编写并成功运行了其中的三个模块,但是第四个模块给了我一个错误,这在本文的标题中有详细说明——异常在我试图打开Excel对象的连接字符串时抛出。我再次强调,我以前做过三次,每次都很成功

另外,我注意到只有在调试模式下运行代码时才会发生异常。如果我在发布模式下运行它,它会毫无怨言地工作

我正在64位环境(Windows8.1上的VS2010)中开发此应用程序,但目标是x86。我很高兴继续以发行版模式而不是调试模式编写,但我很好奇为什么它可以在一种模式下工作,而不能在另一种模式下工作,如果可能的话,我希望能够为这两种模式编写代码


TIA

您能提供源代码吗?它将有助于问题分析。cnXL的可能副本在此处实例化:Public cnXL As String=“Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=NO'”xconn在此处实例化:xlConn=String.Format(cnXL,SourceFile)代码在此点中断:如果cnXL2.State=ConnectionState.Closed,那么cnXL2.Open()整个子例程都封装在一个USING语句中,因此:使用cnXL2作为新的OleDbConnection(xlConn)