sql >> データベース >  >> RDS >> Mysql

VisualStudio2015からmysqlに接続できません

    VS 2015がMySqlに接続するには、MySqlライブラリの新しいバージョンを使用する必要があります。それは非常に単純な答えのように思えますが、正直なところ、私は途中でいくつかの問題に遭遇しました。そのことを念頭に置いて、EFがMySqlとVS2015で機能するようになるまで、一貫して機能してきた1つのプロセスを書き留めます。ですから、これ以上苦労することなく、これを機能させるために私が取っている手順は次のとおりです。

    1)MySqlコネクタのインストールが更新されていることを確認します

    2)Webプロジェクトを作成します

    3)Nugetを開きます

    4)EntityFrameworkをインストールする

    5)MySqlを検索する

    6)MySql.Dataをインストールします

    7)MySql.Data.Entityをインストールします

    8)MySql.Data.Entitiesをインストールします

    9)MySql.Webをインストールします

    10)プロジェクトの参照に移動し、MySql.Data.Entity.EF6

    を削除します。

    11)MySql.DataおよびMySql.Webライブラリのバージョンを確認します。 6.9.6未満の場合は、それらも削除します

    12)ご使用のバージョンの.NET Frameworkのmysqlコネクタのインストール場所(私のものはC:\ Program Files(x86)\ MySQL \ Connector.NET 6.9 \ Assembly \ v4.5)を参照して、新しい参照を追加します。 MySql.Data.Entity.EF6.dllを取得します(私のバージョンは6.9.6です。後でweb.configを変更するときに注意してください)

    13)他のライブラリも古いバージョンである場合は、ソリューションのパッケージフォルダーを参照し、それぞれのフォルダーからファイルを取得して、それらへの参照を追加します。通常、これを行う必要はありません。

    14)ここで、Web.configを編集する必要があります。最初のステップは、エンティティフレームワークセクションをこのコードに置き換えることです(バージョン番号を現在のバージョンに変更します。数週間前にこのスニペットをWebで見つけましたが、元のリンクがありません。元のリンクをお詫びしますこの情報のポスター。)

    <entityFramework>
    <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
    <providers>
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </providers>
    </entityFramework>
    

    15)DbProviderFactoriesセクションが一致することを確認します

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

    16)保存してビルド

    これらのステップの実際に必要な数はわかりませんが、最終的にそれを取得した後、実際にいくつかの作業を行う必要があり、さらに物事を絞り込む時間がありませんでした。うまくいけば、それはあなたを動かします。

    P.S.その後、ウィザードを実行し、エンティティを作成するためのデータベース内のテーブルが表示される前にウィザードが消えた場合、それは私が途中で遭遇した3つの問題の1つである可能性があります。データベースサーバーに接続できません。ユーザーには、データベースに対して必要な権限がありません。間違ったバージョンのMySql.Data.Entity.EF6が参照として追加されたか、web.configのバージョン番号が間違っています。ソリューションのpackagesディレクトリからこのファイルを取得すると、このaborted-wizard-with-no-error-messageの問題が発生することがよくあります。 MySqlインストールディレクトリからそれを取得することは、毎回うまくいきました。



    1. SQLiteデータベースのリークが見つかりました

    2. mysql_queryは、int /floaddbタイプの文字列タイプのみを返します

    3. Oracleは、select句で定義されたデータチャンクのチェックサム値を取得します

    4. Codeigniterの動的データベース接続