0

我正在使用 OLEDB 从一个 excel 文件中读取信息并将其以不同格式输出到另一个文件。虽然在第一个 excel 文件上执行的查询正确返回,但当我尝试对第二个文件执行插入查询时,调用 connection.Open() 时 vshost32.exe 崩溃。在创建 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;\"";
4

0 回答 0