关于mysql-connector-net在C#中的用法
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里加过
<system.data>
<DbProviderFactories>
<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>
</system.data>,
所以要使用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重复而报错。
下面给出例子:
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();
}
}
}
}
关于mysql-connector-net在C#中的用法相关推荐
- django mysql connector,MySQL Connector / python在Django中不起作用
我正在学习以MySQL为后端的Django. 我安装了Oracle的mysql连接器以与mysql连接. 但是,当我运行python manage.py时,出现此错误 Traceback (most ...
- mysql union如何排序_Mysql中UNION用法与排序
最近也是在写项目中碰到的这个问题,需要将两个SELECT查询结果组合起来进行分组排序,想到了用union方法,用TP的union操作根本无法完成复杂的union操作,于是搜罗了一下,先说一下union ...
- django1.10+mysql/connector 2.1.3运行polls demo的问题
为什么80%的码农都做不了架构师?>>> 安装python3.4和django1.10,mysql.connector版本为2.1.3, mysql版本5.6.26. 运行官网 ...
- Windows环境下Code::Blocks中成功配置MySQL Connector/C连接MySQL数据库
下面我将介绍当需要用C语言开发能访问MySQL数据库的程序时成功配置的关键事项. 操作系统:Windows 7 x64 编程环境:Code::Blocks 10.05(32bit) 配置方式说明:用C ...
- MySQL Connector/Net 5.20安装后无法在VS2008中正常使用的问题
安装了MySQL Connector/Net 5.20之后在VS2008中新建连接,居然直接报告错误 Package Load Failure Package 'MySQL Connector Net ...
- vc++2013中使用MySQL connector/C++ 1.1.4静态链接报错
包含头文件 #include <mysql_connection.h> #include <mysql_driver.h> #include <cppconn/state ...
- MySQL Connector/C++ 接口实例
mysql的官方网站有对MySQL Connector/C++的文档解释和具体实例,但是大家也知道,如果把那些具体实例的代码只是生硬的套入项目工程中是万万不行的,因为项目安全性要求,需要对容错,资源创 ...
- python3 操作mysql数据库(mysql.connector 和 pymysql )
1. PyMySQL 的使用 (1) 什么是 PyMySQL? PyMySQL 是 Python 中用于连接 MySQL 服务器的一个库,它遵循 Python 数据库 API 规范 V2.0,并包 ...
- 卸载MySQL Connector NET无法卸载
卸载MySQL Connector NET无法卸载 最近安装了MYSQL数据库,安装完发现安装在了系统C盘,对于文件整理控加一丢丢强迫症的我来说,太介意了,不能忍.这里是解决办法:安装MYSQL自定义 ...
- mysql connector安装教程_通过安装MySQL Connector/Net实现VS2017 C#编程连接MySQL数据库-网络教程与技术
-亦是美网络...
对编程有一定了解的小伙伴都知道,一般情况下使用微软的visual studio进行编程开发都会搭配自家的SQL server.Access数据库,而开发web程序一般情况下PHP搭配MySQL使用,但 ...
最新文章
- Flutter 21: 图解 ListView 下拉刷新与上拉加载 (三)【RefreshIndicator】
- python【力扣LeetCode算法题库】14-最长公共前缀(列表解压)
- pycharm如何在程序运行后查看变量的值,变量的类型(不通过print和debug的方式)
- Codeforces Round #375 (Div. 2)
- OSPF 报文 链路状态请求报文 LSR
- (转)Docker volume plugin - enabled create local volume on docker host
- 产品开发管理方法工具流程 pdf_pdf转化为word的方法有什么?实用工具就有这两个...
- 使用TensorFlow训练神经网络进行价格预测
- java案例源代码_求java案例源代码 越多越好!
- C#对用户密码使用MD5加密与解密
- Mysql数据库查询当前操作的数据库名
- 【牛客 - 318G】LLLYYY的数字思维 与【牛客 - 289J】这是一个沙雕题II(贪心构造)
- java 静态变量的使用_java的static静态变量是不是不安全的?应该如何正确的使用他呢...
- 适用于苹果Mac的 5 个 SSH 客户端软件
- 斗战神总是显示连接服务器失败,全民斗战神怎么进不去 全民斗战神进不去的原因和解决办法...
- 【第十届泰迪杯B题电力负荷预测代码】
- 学习在Unity中制作基础的节点编辑器
- MarkDown的用法
- python调用pyd_使用python pyd时出错
- 一步步教你批量压缩打包文件夹
热门文章
- ffmpeg库音频解码示例
- halcon圆环完整度检测
- 市面上常见arduino版本比较
- mysql中sex设置男女_MYSQL常用命令(3)
- db2 版本发布历史_数据库各厂商的发展历史(2. DB2 of IBM)
- excel删除无尽空白行_excel如何批量删除空白行 巧用 ctrl+G 只需1秒 最常用的技巧...
- oracle的文件后缀名,转:数据文件的扩展名是ora,dbf,dat的,有什么区别?
- mysql主从技术_MySQL主从架构的实现
- 将给定数据源生成静态HTML页面持久化到项目之外的硬盘
- Unity 协程原理探究与实现