4

我有一个 .NET 3.5 C# 库,它使用 OleDb 从 Excel 文件中提取数据并在 SQL Server 2005 中的 CLR 表值函数使用的 DataRowCollection 中返回它。

当我在其上使用 SELECT 时,该功能工作正常。但是,如果我想将其输出用作 INSERT INTO 表的源,则会收到以下错误:

System.InvalidOperationException:“Microsoft.Jet.OLEDB.4.0”提供程序不支持 ITransactionLocal 接口。当前提供商无法使用本地交易。System.InvalidOperationException:在 System.Data.OleDb.OleDbConnectionInternal.EnlistTransactionInternal(事务事务,布尔强制自动)在 System.Data.OleDb.OleDbConnection.Open() 在 GetExcelFunction.GetFile(String strFileName) 在 GetExcelFunction.InitMethod(String strFileName)

那么,我该如何解决呢?我是否停止创建事务的连接?如果有怎么办?我在 OleDbConnection 上没有看到任何相关的方法或属性。连接字符串中是否有参数?

4

1 回答 1

8

将“;OLE DB Services=-4”添加到连接字符串。

于 2009-04-06T17:40:36.507 回答