不支持ITransactionLocal接口

时间:2008-12-04 17:26:35

标签: sql-server-2005 oledb

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

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

System.InvalidOperationException:'Microsoft.Jet.OLEDB.4.0'提供程序不支持ITransactionLocal接口。当前提供商无法使用本地交易。 System.InvalidOperationException:    at System.Data.OleDb.OleDbConnectionInternal.EnlistTransactionInternal(Transaction transaction,Boolean forcedAutomatic)    在System.Data.OleDb.OleDbConnection.Open()    at GetExcelFunction.GetFile(String strFileName)    在GetExcelFunction.InitMethod(String strFileName)

那么,我该如何解决这个问题呢?我是否停止创建交易的连接?如果是这样的话?我没有在OleDbConnection上看到任何相关的方法或属性。连接字符串中是否有参数?

1 个答案:

答案 0 :(得分:8)

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