我已经使用 Rhino-ETL 一段时间了,它运行得非常顺利。但是我在连接到我的 MySQL 数据库时遇到问题。
Rhino.Etl.Core.RhinoEtlException: Failed to execute operation Hornalen.Migration
.Process.ReadMessagesFromDb: The type name 'MySql.Data.MySqlClient' could not be
found for connection string: testConnectionString ---> System.InvalidOperationE
xception: The type name 'MySql.Data.MySqlClient' could not be found for connecti
on string: testConnectionString
at Rhino.Etl.Core.Infrastructure.Use.Connection(String name)
at Rhino.Etl.Core.Operations.InputCommandOperation.<Execute>d__0.MoveNext()
at Rhino.Etl.Core.Enumerables.SingleRowEventRaisingEnumerator.MoveNext()
at Rhino.Etl.Core.Enumerables.EventRaisingEnumerator.MoveNext()
at Rhino.Etl.Core.Pipelines.ThreadPoolPipelineExecuter.<>c__DisplayClass1.<De
corateEnumerableForExecution>b__0(Object )
--- End of inner exception stack trace ---
http://dev.mysql.com/downloads/connector/net/6.1.html mysql.data 被引用并位于我的 bin 文件夹中
我的连接字符串 i app.config 看起来像
<add name="testConnectionString" connectionString="server=localhost;user id=dev;password=xxxxx;persist security info=True;Database=test"
providerName="MySql.Data.MySqlClient" />
连接字符串在一个简单的网站中工作正常,用于调试目的,作为数据源。我正在运行 asp.net 3.5、win 7 和 VS 2008,如果能在这个问题上提供任何帮助,我将不胜感激。
ETL 项目中的一个简单测试也有效
MySql.Data.MySqlClient.MySqlConnection connection = new MySqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString);
connection.Open();
MySqlCommand command = connection.CreateCommand();
command.CommandText = "select * from arter";
MySqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
System.Console.WriteLine(reader.GetInt32("artId"));
}
connection.Close();