2008-12-04 47 views
4

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

当我使用SELECT时,该函数正常工作。但是,如果我想将其输出用作INSERT INTO表的源,则会出现以下错误:

System.InvalidOperationException:“Microsoft.Jet.OLEDB.4.0”提供程序不支持ITransactionLocal接口。本地交易对于当前提供者不可用。 System.InvalidOperationException: 在System.Data.OleDb.OleDbConnectionInternal.EnlistTransactionInternal(事务的事务,布尔forcedAutomatic) 在System.Data.OleDb.OleDbConnection.Open() 在GetExcelFunction.GetFile(字符串strFileName) 在GetExcelFunction.InitMethod (String strFileName)

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

回答

8

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