当前位置: 首页 > 编程语言 > C#

SQLite错误:'DbProviderFactories'部分只能出现一次每个配置文件(IBM客户端访问)分享

时间:2023-04-11 01:15:50 C#

SQLite错误:'DbProviderFactories'部分只能出现一次每个配置文件(IBM客户端访问)使用WPF和C#在.NET4.5上使用我的应用程序EntityFramework和System.Data.SQLite在我的机器上运行良好,但在测试机器上,当我通过EntityFramework访问sqlite数据库时出现此错误:“DbProviderFactories”部分只能每个配置文件出现一次。我发现错误出在测试机器上,在machine.config中:我删除了最后一个空元素,现在一切正常。我想我有一些与IBM.Data.DB2.iSeries安装(IBM客户端访问)相关的东西。我的问题是:如何在不手动编辑machine.config的情况下删除空元素?我尝试在app.config文件中插入标签,但它不起作用。我发现了其他与我类似的问题,但没有人建议如何在不手动编辑machine.config的情况下解决问题。这是我的app.config文件:问题是由安装IBMiAccessforWindows(特别是.NETProviderforDB2组件)引起的。我自己在V7R1中看到过,但其他人在V6R1中引用了相同的问题。IBM已意识到此问题并在其中一个服务版本中对其进行了修复。来自V7R1服务版本文档:APARSE45767的问题描述:在未知情况下,当安装.NetDataProvider(作为完整或自定义安装类型的一部分)时,machine.configXML文件发生损坏。损坏被隔离到与DbProviderFactories相关的部分XML数据-并且通常观察到包括XML数据的某些行的重复。APARSE45767的修复:将提供预防性修复,消除machine.config损坏的可能原因。将不会提供更新损坏的machine.config文件的更正修复程序。如果可能,使用记录在案的本地修复或解决方法。APARSE45767注释:如果不需要.NetDataProvider,可以通过执行自定义安装并确保未安装.NetDataProvider来避免此问题。如果需要.Net提供商,则无规避。使用本地修复程序解决问题。至于解决问题,您需要修复machine.config(32位和64位),因为它与为system.data定义的模式不匹配。这很简单-只需编写一个简单的.NET应用程序来加载带有XmlDocument的machine.config,找到重复的DbProviderFactories元素,将其删除并保存文件。或者使用PowerShell脚本或任何其他可以操作XML文档的脚本。这是IBMAPAR在V6R1中对此进行的讨论。我今天遇到了这个问题。machine.config文件位于:损坏的machine.config版本包含:安装iSeries驱动程序损坏了以下machine.config文件:|框架|平台|工厂添加?|损坏的Machine.config?||-----------|------------|----------------|-------------------------||v4.0.30319|x64|是|是||v4.0.30319|x86|是|是||v2.0.50727|否|否|很高兴您只需担心IBM损坏了一半的machine.config文件;以及那些只使用.NET4的应用程序。要修复的文件从提升的记事本中,打开两个文件并删除无关的空元素,给你:你已经修复了。以上是C#学习教程:SQLite错误:'DbProviderFactories'部分在每个配置文件中只能出现一次(IBMClientAccess)。如果对大家有用,需要进一步了解C#学习教程,希望大家多多分享注意——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: