java怎么連接sql server數據庫,mysql.net連接器_關于mysql-connector-net在C#中的用法

 2023-11-30 阅读 20 评论 0

摘要:mysql-connector-net-8.0.11.msi 可以從這里下載:mysql-connector-net-8.0.11如果使用ado.net鏈接mysql數據庫則只需要引用 ?MySql.Data.dll即可,并不需要安裝mysql-connector-net驅動程序;如果使用EF的話需要安裝mysql-connector-net驅動程序和mysql-fo

mysql-connector-net-8.0.11.msi 可以從這里下載:mysql-connector-net-8.0.11

如果使用ado.net鏈接mysql數據庫則只需要引用 ?MySql.Data.dll即可,并不需要安裝mysql-connector-net驅動程序;

如果使用EF的話需要安裝mysql-connector-net驅動程序和mysql-for-visualstudio 這個vs里面鏈接數據源的插件,否則EF無法使用VS視圖模型的瀏覽和創建以及更新數據庫實體;

其中mysql-connector-net驅動程序安裝目錄包含了

MySql.Data.dll;

MySql.Data.Entity.EF5.dll;

MySql.Data.Entity.EF6.dll;

MySql.Fabric.Plugin.dll;

MySql.Web.dll;

注意:就算把mysql-connector-net安裝目錄下所有的類庫都拷到bin目錄而不在應用站點服務器上安裝mysql-connector-net驅動程序,EF代碼還是會報錯,因為mysql-connector-net安裝不僅裝了各種dll類庫,還寫過機器上.net環境的全局的machine.config里加過

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

所以要使用EF必須在站點服務器安裝mysql-connector-net啟動程序(數據庫所在的服務器不需要安裝,只需要C#程序所運行的電腦需要安裝)或者在應用的web.config文件里configuration節點下加上上面的配置

或者在應用所在機器的

C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Config\machine.config

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config

文件里加上上面的配置。

需要注意的是:當機器已經裝上了mysql-connector-net驅動的時候,再加這配置就會造成name重復而報錯。

下面給出例子:

604ac8ed9e805e95637a586d7d1752e1.png

using System;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

/*

本程序使用 MySql.Data.dll 鏈接Mysql數據庫,讀取服務器中所有數據庫的名稱,顯示在界面上。HoverTree

*/

namespace MysqlHoverTree

{

public partial class Form1 : Form

{

private MySqlConnection _conn;

public Form1()

{

InitializeComponent();

}

private void button_connect_Click(object sender, EventArgs e)

{

if (_conn != null)

_conn.Close();

string h_connString = "server=localhost;user id=root; password=123456; port=3306; database=mysql; pooling=false; charset=utf8";//根據實際修改

try

{

_conn = new MySqlConnection(h_connString);

_conn.Open();

GetDatabases();

MessageBox.Show("連接數據庫成功!");

}

catch (MySqlException ex)

{

MessageBox.Show("Error connecting to the server: " + ex.Message);

}

}

private void GetDatabases()

{

MySqlDataReader reader = null;

MySqlCommand cmd = new MySqlCommand("SHOW DATABASES", _conn);

try

{

reader = cmd.ExecuteReader();

listBox_database.Items.Clear();

while (reader.Read())

{

listBox_database.Items.Add(reader.GetString(0));

}

}

catch (MySqlException ex)

{

MessageBox.Show("Failed to populate database list: " + ex.Message);

}

finally

{

if (reader != null) reader.Close();

}

}

}

}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/186015.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息