使用 MySql .net 连接器设置 SSIS 时出错
Posted
技术标签:
【中文标题】使用 MySql .net 连接器设置 SSIS 时出错【英文标题】:Getting error when setting up SSIS with MySql .net connector 【发布时间】:2015-10-26 23:35:58 【问题描述】:我正在尝试通过关注http://www.ideaexcursion.com/2009/06/04/howto-connect-to-mysql-in-ssis/ 来构建一个 SSIS 包。当我转到第 6 步时,一切正常。当我再次双击连接时,我遇到了以下错误。
注意
-
我正在使用 VS 2012 和 2010。两者都有相同的错误。
我为 Windows https://dev.mysql.com/downloads/installer/ 安装了 MySql 安装程序 5.6.26。它包含 MySql .Net 连接器 6.9.6.0
我的 machine.config 在底部添加了
DbProviderFactories
我将MySql.Data
和MySql.Data.Entity
添加到我的项目中。
====================================
无法从连接类型中获取提供者不变名称 限定符“MySql.Data.MySqlClient.MySqlConnection,MySql.Data, 版本=6.9.6.0,文化=中性,PublicKeyToken=c5687fc88969c44d”。 您可能需要手动编辑 连接管理器,如果选择的默认值与什么不同 你要。 (微软视觉工作室)
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient"/>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</DbProviderFactories>
</system.data>
【问题讨论】:
【参考方案1】:就我而言,我缩小了错误日志的范围,结果发现这是由 SQL Server Compact 3.5 引起的问题。我去了https://support.microsoft.com/en-us/kb/974247 并按照说明进行了修复。
这只是在我的情况下。我看到其他一些关于相同错误的投诉,我建议您也检查错误详细信息。
【讨论】:
【参考方案2】:问题是.NET Providers\MySQL Data Provider,需要.dll 的PublicKeyToken 来连接MySql,可能是因为你从另一台机器上复制源,而MySql 的.dll 有不同的PublicKeyToken。
所以一个解决方法是创建一个新的 mysql 连接,然后转到属性,复制限定符,并将其粘贴到要修复的旧 mysql 连接的属性中。
那么它应该是固定的。
【讨论】:
以上是关于使用 MySql .net 连接器设置 SSIS 时出错的主要内容,如果未能解决你的问题,请参考以下文章
SSIS MySQL ADO.net SQL 任务输入和输出
SSIS Passing Parameters to an ADO .NET Source query;向ado.net数据源传递参数。