2009-10-19 2 views
1

Я использую Rhino-ETL на некоторое время, и он работает довольно гладко. Однако у меня есть проблема с подключением к моей базе данных MySQL. ссылаетсяПроблема с 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 и находится в моей папке бин

Моя строка соединения я 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, выигрываю 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(); 

ответ

1

После некоторой работы с Type.GetType («ххх») он начал работать с «MySql.Data.MySqlClient.MySqlConnection, MySql.Data », а затем предложит« Квалификация модуля Fix »

<add name="testConnectionString" connectionString="server=localhost;user id=dev;password=xxxxx;persist security info=True;Database=test" 
providerName="MySql.Data.MySqlClient.MySqlConnection, MySql.Data, Version=6.1.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />