我有一个.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上看到任何相关的方法或属性。连接字符串中是否有参数?
答案 0 :(得分:8)
将“; OLE DB Services = -4”添加到连接字符串。