我正在使用OLEDB从一个excel文件中读取信息,并以不同的格式将其输出到另一个文件。当在第一个excel文件上执行的查询正确返回时,当我尝试在第二个文件上执行插入查询时,vshost32.exe在调用connection.Open()时崩溃。在创建OleDBConnection的ServerVersion时抛出InvalidOperationException,我认为这是正常的,因为它变为有效的版本号,并且当连接上调用Open()时状态从Closed变为Open。
以下是我尝试使用的连接字符串。第一个用于第一个excel文件,而后一个用于写入输出。唯一可辨别的区别是在第二个字符串中添加了“ReadWrite”模式。我还尝试在扩展属性中将“Excel 8.0”更改为“Excel 12.0”。
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
inputFile + ";Extended Properties=\"Excel 8.0;HDR=YES;\"";
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
outputFile + ";Mode=ReadWrite;Extended Properties=\"Excel 8.0;HDR=YES;\"";