1

しばらく Rhino-ETL を使用していますが、非常にスムーズに動作しています。しかし、MySQL DB への接続に問題があります。

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" />

接続文字列は、単純な Web サイトでデバッグ目的でデータ ソースとして正常に機能します。私は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();
4

1 に答える 1

1

Type.GetType("xxx") でいくつかの作業を行った後、「MySql.Data.MySqlClient.MySqlConnection、MySql.Data」で作業を開始し、resharper が「モジュール修飾の修正」を提案しました。

<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" />
于 2009-10-19T21:30:21.743 に答える