1

l データ アクセスの大部分に Data Application ブロックを使用しています。具体的には、SqlHelper クラスを使用して ExecuteReader、ExecuteNonQuery などのメソッドを呼び出しています。各データベース呼び出しで接続文字列を渡します。

これを変更して、MySQL データベースへの接続も有効にするにはどうすればよいですか。

4

1 に答える 1

3

Enterprise Library がインストールされていて、SQL Server データベースへの接続方法を既に知っている場合、MySQL データベースへの接続は難しくありません。

これを行う 1 つの方法は、ODBC を使用することです。これは私がしたことです:

  1. MySQL.com にアクセスして、最新の MySQL ODBC コネクタをダウンロードします。これを書いている時点では 5.1.5 です。Vistaが64bitだったので、64bit版を使いました。
  2. ODBC コネクタをインストールします。インストーラーなしのバージョンを使用することにしました。解凍して、管理者のコマンド プロンプトで Install.bat を実行しました。MSI バージョンはおそらく正常に動作しますが、3.51 コネクタをインストールしたときにこのようにしました。
  3. ODBC コントロール パネルを開き、[ドライバ] タブをチェックして、インストールを確認します。そこに MySQL ODBC 5.1 Driver がリストされているはずです。古いバージョンの 3.51 を既にお持ちの場合は、それと平和的に共存しているようです。さらに、.NET コネクタもインストールされている場合は、.NET コネクタと平和的に共存します。
  4. この時点で、SQL Server データベースに接続するために行ったことを実行します。知っておく必要があるのは、接続文字列に何を使用するかだけです。
  5. これが私のものです:
  6. もちろん、「名前」は好きなように設定できます。
  7. これが唯一のデータベースである場合は、次のように defaultDatabase として設定できます。
  8. いつものように、コード内のデータにアクセスしてください! プレーン テキストの SQL の例を次に示します。
    public List<連絡先> Contact_SelectAll()
    {
        List<連絡先> contactList = new List<連絡先>();
        データベース db = DatabaseFactory.CreateDatabase("MySqlDatabaseTest");
        DbCommand dbCommand = db.GetSqlStringCommand("select * from Contact");
        使用 (IDataReader dataReader = db.ExecuteReader(dbCommand))
        {
            while (dataReader.Read())
            {
                連絡先 contact = new Contact();
                contact.ID = (int) dataReader["ContactID"];
                client.FirstName = dataReader["ContactFName"].ToString();
                client.LastName = dataReader["ContactLName"].ToString();
                clientList.Add(クライアント);
            }
        }

        clientList を返します。
    }

これを行う別の方法は、MySql プロバイダーを構築して使用することです。こいつがやった。Access に接続するため のこれらの手順を適応させることで、これを行う方法を学びました。ああ、ここにさらにいくつかの MySql 接続文字列のサンプルがあります

于 2009-02-20T07:12:03.260 に答える