3

私は、レガシーWebサイトの新しいフロントエンドを作成する任務を負っています。

これはphp(pre-oo)で記述されており、MySQLデータベースを使用します。ホスティングは.Netパッケージを提供しますが、MsSqlServerは提供しません。

データベースは正常に機能しているため、これは問題ありませんが、ページにはAsp.netを使用したいと思います。ただし、C#からMySQLに接続する際に見たほとんどのチュートリアルでは、MySQL専用のODBCドライバーをインストールする必要があります。ホスティング環境を制御していないので、それができるとは思えません:)

この問題について共有する洞察はありますか?

4

2 に答える 2

9

MySqlには.Net用のコネクタがあります。ODBCを使用する必要はありません。

MySql Connectorを使用すると、MySqlデータベースを操作でき、完全に管理されたADO.Netプロバイダーです。必要に応じて、バイナリ(dll)またはソースコードがあります。非常に簡単です。dllをインポートしたら、接続文字列(ユーザー名、パスワード、場所)が必要で、セットアップが完了します。

コードのサンプルを次に示します(参照:bitdaddy.com):

string MyConString = "SERVER=localhost;" +
    "DATABASE=mydatabase;" +
    "UID=testuser;" +
    "PASSWORD=testpassword;";
MySqlConnection connection = new MySqlConnection(MyConString);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;
command.CommandText = "select * from mycustomers";
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
    string thisrow = "";
    for (int i= 0;i<Reader.FieldCount;i++)
            thisrow+=Reader.GetValue(i).ToString() + ",";
    listBox1.Items.Add(thisrow);
}
connection.Close();

コードと永続性を同じ場所に配置せず、接続文字列をApp.Configに配置することをお勧めしますが、これはその方法を示していると思います。

于 2008-12-11T16:12:01.783 に答える
0

Patrick Dejardins に同意します。加えて、MySQL を操作する最も簡単な方法を追加したいと思います。

  1. .Net v6.0 用の MySQL コネクタを入手してください- これはEntity Frameworkをサポートしてい ます
  2. ADO.Net Entity Model を使用してデータ モデル レイヤーを作成し、データベースとやり取りする

また

また、 Linq to MySQL プロバイダーの実装も参照してください。これは非常に優れています。

同様の要件があったとき、私は前者のオプションを使用しました。

于 2009-05-11T14:53:36.013 に答える