C# 连接MYSQL数据库的3种方法及示例

C# 连接MYSQL数据库的3种方法及示例
C# 连接MYSQL数据库的3种方法及示例

C# 连接MYSQL数据库的方法及示例

连接MYSQL数据库的方法及示例

方法一:

using MySql.Data

using MySql.Data.MySqlClient;

其他操作跟SQL是差不多,无非就是前缀变成MySql了.

补充:

下面是连接字符串,供参考.

MySqlConnection con = new

MySql.Data.MySqlClient.MySqlConnection("Database='testdb';Data

Source='localhost';User Id='db';Password='apple';charset='utf8'");

con.Open();

MySqlCommand cmd = new MySqlCommand();

cmd.Connection = con;

使用MYSQL推出的MySQL Connector/Net is an https://www.360docs.net/doc/d7963888.html, driver for MySQL

该组件为MYSQL为https://www.360docs.net/doc/d7963888.html,访问MYSQL数据库设计的.NET访问组件。

安装完成该组件后,引用命名空间MySql.Data.MySqlClient;

使用命令行编译时:csc /r:MySql.Data.dll test.cs

方法二:

通过ODBC访问MYSQL数据库

访问前要先下载两个组件:https://www.360docs.net/doc/d7963888.html,和MYSQL的ODBC驱动(MySQL Connector/ODBC (MyODBC) driver)目前为3.51版

安装完成后,即可通过ODBC访问MYSQL数据库

方法三:

使用CoreLab推出的MYSQL访问组件,面向.NET

安装完成后,引用命名空间:CoreLab.MySql;

使用命令编译时:csc /r:CoreLab.MySql.dll test.cs

以下为访问MYSQL数据库实例

编译指令:csc /r:CoreLab.MySql.dll /r:MySql.Data.dll test.cs

using System;

using https://www.360docs.net/doc/d7963888.html,;

using System.Text;

using CoreLab.MySql;

using System.Data.Odbc;

using MySql.Data.MySqlClient;

class ConnectMySql

{

public void Connect_CoreLab()

{

string constr = "User Id=root;Host=localhost;Database=qing;password=qing"; MySqlConnection mycn = new MySqlConnection(constr);

mycn.Open();

MySqlCommand mycm = new MySqlCommand("select * from shop",mycn); MySqlDataReader msdr = mycm.ExecuteReader();

while(msdr.Read())

{

if (msdr.HasRows)

{

Console.WriteLine(msdr.GetString(0));

}

}

msdr.Close();

mycn.Close();

}

public void Connect_Odbc()

{

//string MyConString ="DSN=MySQL;UID=root;PWD=qing";

string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +

"SERVER=localhost;" +

"DATABASE=test;" +

"UID=root;" +

"PASSWORD=qing;" +

"OPTION=3";

OdbcConnection MyConn = new OdbcConnection(MyConString);

MyConn.Open();

OdbcCommand mycm = new OdbcCommand("select * from hello",MyConn); OdbcDataReader msdr = mycm.ExecuteReader();

while(msdr.Read())

{

if (msdr.HasRows)

{

Console.WriteLine(msdr.GetString(0));

}

}

msdr.Close();

MyConn.Close();

}

public void Connect_Net()

{

string myConnectionString = "Database=test;Data Source=localhost;User Id=root;Password=qing";

MySqlConnection mycn = new MySqlConnection(myConnectionString); mycn.Open();

MySqlCommand mycm = new MySqlCommand("select * from hello",mycn); MySqlDataReader msdr = mycm.ExecuteReader();

while(msdr.Read())

{

if (msdr.HasRows)

{

Console.WriteLine(msdr.GetString(0));

}

}

msdr.Close();

mycn.Close();

}

public static void Main()

{

ConnectMySql ms = new ConnectMySql();

ms.Connect_CoreLab();

ms.Connect_Odbc();

Connect_Net();

}

}

1、用MySQLDriverCS连接MySQL数据库

先下载和安装MySQLDriverCS,地址:

https://www.360docs.net/doc/d7963888.html,/projects/mysqldrivercs/

在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中注:我下载的是版本是MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe

using System;

using System.Collections.Generic;

using https://www.360docs.net/doc/d7963888.html,ponentModel;

using System.Data;

using System.Data.Odbc;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using MySQLDriverCS;

namespace mysql

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

MySQLConnection conn = null;

conn = new MySQLConnection(new MySQLConnectionString("localhost", "inv", "root", "831025").AsString);

conn.Open();

MySQLCommand commn = new MySQLCommand("set names gb2312", conn);

commn.ExecuteNonQuery();

string sql = "select * from exchange ";

MySQLDataAdapter mda = new MySQLDataAdapter(sql, conn);

DataSet ds = new DataSet();

mda.Fill(ds, "table1");

this.dataGrid1.DataSource = ds.Tables["table1"];

conn.Close();

}

}

}

2、通过ODBC访问mysql数据库:

参考:https://www.360docs.net/doc/d7963888.html,/china/community/Column/63.mspx

1. 安装Microsoft https://www.360docs.net/doc/d7963888.html,:我安装的是mysql-connector-odbc-3.51.22-win3

2.msi

2. 安装MDAC 2.7或者更高版本:我安装的是mdac_typ.exe 2.7简体中文版

3. 安装MySQL的ODBC驱动程序:我安装的是odbc_net.msi

4. 管理工具-> 数据源ODBC –>配置DSN…

5. 解决方案管理中添加引用Microsoft.Data.Odbc.dll(1.0.3300)

6. 代码中增加引用using Microsoft.Data.Odbc;

using System;

using System.Collections.Generic;

using https://www.360docs.net/doc/d7963888.html,ponentModel;

using System.Drawing;

using System.Linq; //vs2005好像没有这个命名空间,在c#2008下测试自动生成的using System.Text;

using System.Windows.Forms;

using Microsoft.Data.Odbc;

namespace mysql

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +

"SERVER=localhost;" +

"DATABASE=inv;" +

"UID=root;" +

"PASSWORD=831025;" +

"OPTION=3";

OdbcConnection MyConnection = new OdbcConnection(MyConString);

MyConnection.Open();

Console.WriteLine("\n success, connected successfully !\n");

string query = "insert into test values( ''hello'', ''lucas'', ''liu'')";

OdbcCommand cmd = new OdbcCommand(query, MyConnection);

//处理异常:插入重复记录有异常

try{

cmd.ExecuteNonQuery();

}

catch(Exception ex){

Console.WriteLine("record duplicate.");

}finally{

cmd.Dispose();

}

//***********************用read方法读数据到textbox********************** string tmp1 = null;

string tmp2 = null;

string tmp3 = null;

query = "select * from test ";

OdbcCommand cmd2 = new OdbcCommand(query, MyConnection);

OdbcDataReader reader = cmd2.ExecuteReader();

while (reader.Read())

{

tmp1 = reader[0].ToString();

tmp2 = reader[1].ToString();

tmp3 = reader[2].ToString();

}

this.textBox1.Text = tmp1 + " " + tmp2 + " " + tmp3;

*/

//************************用datagridview控件显示数据表************************** string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +

"SERVER=localhost;" +

"DATABASE=inv;" +

"UID=root;" +

"PASSWORD=831025;" +

"OPTION=3";

OdbcConnection MyConnection = new OdbcConnection(MyConString); OdbcDataAdapter oda = new OdbcDataAdapter("select * from customer ", MyConnection); DataSet ds = new DataSet();

oda.Fill(ds, "employee");

this.dataGridView1.DataSource = ds.Tables["employee"];

*/

MyConnection.Close();

}

}

}

文章出处:https://www.360docs.net/doc/d7963888.html,/course/4_webprogram/https://www.360docs.net/doc/d7963888.html,/asp_netshl/2008429/112011.html 1、用MySQLDriverCS连接MySQL数据库

先下载和安装MySQLDriverCS,地址:

https://www.360docs.net/doc/d7963888.html,/projects/mysqldrivercs/

在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中

注:我下载的是版本是MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe

using System;

using System.Collections.Generic;

using https://www.360docs.net/doc/d7963888.html,ponentModel;

using System.Data;

using System.Data.Odbc;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using MySQLDriverCS;

namespace mysql

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

MySQLConnection conn = null;

conn = new MySQLConnection(new MySQLConnectionString("localhost", "inv", "root", "831025").AsString);

conn.Open();

MySQLCommand commn = new MySQLCommand("set names gb2312", conn);

commn.ExecuteNonQuery();

string sql = "select * from exchange ";

MySQLDataAdapter mda = new MySQLDataAdapter(sql, conn);

DataSet ds = new DataSet();

mda.Fill(ds, "table1");

this.dataGrid1.DataSource = ds.Tables["table1"];

conn.Close();

}

}

}

2、通过ODBC访问mysql数据库:

参考:https://www.360docs.net/doc/d7963888.html,/china/community/Column/63.mspx

1. 安装Microsoft https://www.360docs.net/doc/d7963888.html,:我安装的是mysql-connector-odbc-3.51.22-win3

2.msi

2. 安装MDAC 2.7或者更高版本:我安装的是mdac_typ.exe 2.7简体中文版

3. 安装MySQL的ODBC驱动程序:我安装的是odbc_net.msi

4. 管理工具-> 数据源ODBC –>配置DSN…

5. 解决方案管理中添加引用Microsoft.Data.Odbc.dll(1.0.3300)

6. 代码中增加引用using Microsoft.Data.Odbc;

using System;

using System.Collections.Generic;

using https://www.360docs.net/doc/d7963888.html,ponentModel;

using System.Drawing;

using System.Linq; //vs2005好像没有这个命名空间,在c#2008下测试自动生成的using System.Text;

using System.Windows.Forms;

using Microsoft.Data.Odbc;

namespace mysql

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +

"SERVER=localhost;" +

"DATABASE=inv;" +

"UID=root;" +

"PASSWORD=831025;" +

"OPTION=3";

OdbcConnection MyConnection = new OdbcConnection(MyConString);

MyConnection.Open();

Console.WriteLine("\n success, connected successfully !\n");

string query = "insert into test values( ''hello'', ''lucas'', ''liu'')";

OdbcCommand cmd = new OdbcCommand(query, MyConnection);

//处理异常:插入重复记录有异常

try{

cmd.ExecuteNonQuery();

}

catch(Exception ex){

Console.WriteLine("record duplicate.");

}finally{

cmd.Dispose();

}

//***********************用read方法读数据到textbox**********************

string tmp1 = null;

string tmp2 = null;

string tmp3 = null;

query = "select * from test ";

OdbcCommand cmd2 = new OdbcCommand(query, MyConnection);

OdbcDataReader reader = cmd2.ExecuteReader();

while (reader.Read())

{

tmp1 = reader[0].ToString();

tmp2 = reader[1].ToString();

tmp3 = reader[2].ToString();

}

this.textBox1.Text = tmp1 + " " + tmp2 + " " + tmp3;

*/

//************************用datagridview控件显示数据表************************** string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +

"SERVER=localhost;" +

"DATABASE=inv;" +

"UID=root;" +

"PASSWORD=831025;" +

"OPTION=3";

OdbcConnection MyConnection = new OdbcConnection(MyConString); OdbcDataAdapter oda = new OdbcDataAdapter("select * from customer ", MyConnection); DataSet ds = new DataSet();

oda.Fill(ds, "employee");

this.dataGridView1.DataSource = ds.Tables["employee"];

*/

MyConnection.Close();

}

}

}

文章出处:https://www.360docs.net/doc/d7963888.html,/course/4_webprogram/https://www.360docs.net/doc/d7963888.html,/asp_netshl/2008429/112011.html

C#连接mysql数据库

1.连接:

1.安装Microsoft https://www.360docs.net/doc/d7963888.html,。

2.安装MySQL的ODBC驱动程序。

2.解决方案管理中添加引用Microsoft.Data.Odbc.dll(1.0.3300)

3.代码中增加引用

using Microsoft.Data.Odbc;

4.编写代码

string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +

"SERVER=localhost;" +

"DATABASE=samp_db;" +

"UID=root;" +

"PASSWORD=;" +

"OPTION=3";

//Connect to MySQL using Connector/ODBC

OdbcConnection MyConnection = new OdbcConnection(MyConString);

MyConnection.Open();

Console.WriteLine("\n !!! success, connected successfully !!!\n"); MyConnection.Close();

2.全部例程:

/**

* @sample : mycon.cs

* @purpose : Demo sample for https://www.360docs.net/doc/d7963888.html, using Connector/ODBC * @author : Venu, venu@https://www.360docs.net/doc/d7963888.html,

*

* (C) Copyright MySQL AB, 1995-2003

*

**/

/* build command

*

* csc /t:exe

* /out:mycon.exe mycon.cs

* /r:Microsoft.Data.Odbc.dll

*/

using Console = System.Console;

using Microsoft.Data.Odbc;

namespace myodbc3

{

class mycon

{

static void Main(string[] args)

{

try

{

//Connection string for Connector/ODBC 2.50

/*string MyConString = "DRIVER={MySQL};" +

"SERVER=localhost;" +

"DATABASE=test;" +

"UID=venu;" +

"PASSWORD=venu;" +

"OPTION=3";

*/

//Connection string for Connector/ODBC 3.51

string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=localhost;" +

"DATABASE=test;" +

"UID=venu;" +

"PASSWORD=venu;" +

"OPTION=3";

//Connect to MySQL using Connector/ODBC

OdbcConnection MyConnection = new OdbcConnection(MyConString); MyConnection.Open();

Console.WriteLine("\n !!! success, connected successfully !!!\n");

//Display connection information

Console.WriteLine("Connection Information:");

Console.WriteLine("\tConnection String:" + MyConnection.ConnectionString); Console.WriteLine("\tConnection Timeout:" + MyConnection.ConnectionTimeout); Console.WriteLine("\tDatabase:" + MyConnection.Database);

Console.WriteLine("\tDataSource:" + MyConnection.DataSource);

Console.WriteLine("\tDriver:" + MyConnection.Driver);

Console.WriteLine("\tServerVersion:" + MyConnection.ServerVersion);

//Create a sample table

OdbcCommand MyCommand = new OdbcCommand("DROP TABLE IF EXISTS my_odbc_ net",MyConnection);

MyCommand.ExecuteNonQuery();

https://www.360docs.net/doc/d7963888.html,mandText = "CREATE TABLE my_odbc_net(id int, name varchar(20), i db bigint)";

MyCommand.ExecuteNonQuery();

//Insert

https://www.360docs.net/doc/d7963888.html,mandText = "INSERT INTO my_odbc_net VALUES(10,'venu', 300)"; Console.WriteLine("INSERT, Total rows affected:" + MyCommand.ExecuteNonQuery());;

//Insert

https://www.360docs.net/doc/d7963888.html,mandText = "INSERT INTO my_odbc_net VALUES(20,'mysql',400)"; Console.WriteLine("INSERT, Total rows affected:" + MyCommand.ExecuteNonQuery());

//Insert

https://www.360docs.net/doc/d7963888.html,mandText = "INSERT INTO my_odbc_net VALUES(20,'mysql',500)"; Console.WriteLine("INSERT, Total rows affected:" + MyCommand.ExecuteNonQuery());

//Update

https://www.360docs.net/doc/d7963888.html,mandText = "UPDATE my_odbc_net SET id=999 WHERE id=20"; Console.WriteLine("Update, Total rows affected:" + MyCommand.ExecuteNonQuery());

//COUNT(*)

https://www.360docs.net/doc/d7963888.html,mandText = "SELECT COUNT(*) as TRows FROM my_odbc_net"; Console.WriteLine("Total Rows:" + MyCommand.ExecuteScalar());

//Fetch

https://www.360docs.net/doc/d7963888.html,mandText = "SELECT * FROM my_odbc_net";

OdbcDataReader MyDataReader;

MyDataReader = MyCommand.ExecuteReader();

while (MyDataReader.Read())

{

if(https://www.360docs.net/doc/d7963888.html,pare(MyConnection.Driver,"myodbc3.dll") == 0) {

Console.WriteLine("Data:" + MyDataReader.GetInt32(0) + " " +

MyDataReader.GetString(1) + " " +

MyDataReader.GetInt64(2)); //Supported only by Connector/ODBC 3.51

}

else {

Console.WriteLine("Data:" + MyDataReader.GetInt32(0) + " " +

MyDataReader.GetString(1) + " " +

MyDataReader.GetInt32(2)); //BIGINTs not supported by Connector/ODBC

}

}

//Close all resources

MyDataReader.Close();

MyConnection.Close();

}

catch (OdbcException MyOdbcException)//Catch any ODBC exception ..

{

for (int i=0; i < MyOdbcException.Errors.Count; i++)

{

Console.Write("ERROR #" + i + "\n" +

"Message: " + MyOdbcException.Errors[i].Message + "\n" +

"Native: " + MyOdbcException.Errors[i].NativeError.ToString() + "\n" +

"Source: " + MyOdbcException.Errors[i].Source + "\n" +

"SQL: " + MyOdbcException.Errors[i].SQLState + "\n");

}

}

}

}

}

3.使用dataset填充dataGrid:

OdbcConnection con = new OdbcConnection("DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=glf;" +

"DATABASE=qxk_db;" +

"UID=root;" +

"PASSWORD=;" +

"OPTION=3");

da=new OdbcDataAdapter("select * from achi_eval",con); ds=new DataSet();

da.Fill(ds,"customers");

dtSource = ds.Tables["customers"];

pageSize=20;

maxRec = dtSource.Rows.Count;

PageCount = maxRec / pageSize;

if ((maxRec % pageSize) > 0)

{

PageCount += 1;

}

currentPage = 1;

recNo = 0;

LoadPage();

这是前一段需要用到,精选了一些资料,希望对大家有帮助.

citrix数据库连接操作手册

CitrixAppcenter无法连接到数据 库解决方法

Contents 简介 ................................................................................................................................... - 3 - 1、操作步骤.......................................................................................................................... - 3 - 2、标题2............................................................................................................................... - 5 - 3、标题3............................................................................................................................... - 5 - 4、标题4............................................................................................................................... - 5 - 5、标题5............................................................................................................................... - 5 - 6、标题6............................................................................................................................... - 5 -

Java中连接MySql数据库的几种方法

JDBC Java中JDBC定义了java与各种sql数据库之间的编程接口,JDBC API是一个统一的标准应用程序编程接口,这样可以屏蔽异种数据库之间的差异。 JDBC的工作原理 JDBC与ODBC(OpenData Base Connectivity,开放式数据库连接)的作用非常类似,它在应用程序和数据库之间起到了桥梁的作用。ODBC使用的特别广泛,在java中还提供了JDBC-ODBC桥,能够在JDBC与ODBC之间进行转换,这样可以通过ODBC屏蔽不同种数据库之间的差异。在JDK的包java.sql.*中定义了一系列的类、接口、异常以及这些类和接口中定义的属性和方法,java的开发人员通过一定的规则调用java.sql.*中的API就可以实现对数据库管理系统的访问。 JDBC的四种驱动 1.JDBC-ODBC Bridge JDBC-ODBC Bridge可以访问一个ODBC数据源,但在执行Java程序的机器上必须安装ODBC驱动,并作出配置,它的调用方式如下图: 因为中间有个JDBC-ODBC,所以影响了执行效率。 配置ODBC数据源的方法如下(以Mysql为例): 第一步,打开控制面板—>管理工具--->数据源(ODBC) 选择系统DSN,这一项默认应该是空的,我这里是已经配置好了一个数据源。

第二步,点击添加 第三步,选择Mysql的ODBC驱动,点击完成。 注:MySQL的ODBC驱动在系统中一般是找不到的,因为它不是系统默认自带的驱动,所以,我们要自己安装我们所需要的MySQL的ODBC驱动。安装步骤如下: ①.下载安装包,https://www.360docs.net/doc/d7963888.html,/downloads/connector/odbc/ ②.我们下载与自己系统相应的ODBC驱动 这里我们选择

关于DBCP数据库连接池配置整理

1.简介 DBCP(DataBase Connection Pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是tomcat 使用的连接池组件。单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。 dbcp提供了数据库连接池可以在spring,iBatis,hibernate中调用dbcp完成数据库连接,框架一般都提供了dbcp连接的方法; tomcat中也提供了dbcp的jndi设置方法,也可以不在框架中使用dbcp,单独使用dbcp 需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar 2.参数说明 翻译自https://www.360docs.net/doc/d7963888.html,

这里可以开启PreparedStatements池. 当开启时, 将为每个连接创建一个statement 池,并且被下面方法创建的PreparedStatements将被缓存起来: ●public PreparedStatement prepareStatement(String sql) ●public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) 如果容许则可以使用下面的方式来获取底层连接: Connection conn = ds.getConnection(); Connection dconn = ((DelegatingConnection) conn).getInnermostDelegate(); ... conn.close() 默认false不开启, 这是一个有潜在危险的功能, 不适当的编码会造成伤害.(关闭底层 连接或者在守护连接已经关闭的情况下继续使用它).请谨慎使用,并且仅当需要直接访问驱动的特定功能时使用. 注意: 不要关闭底层连接, 只能关闭前面的那个 如果开启"removeAbandoned",那么连接在被认为泄露时可能被池回收. 这个机制在(getNumIdle() < 2) and (getNumActive() > getMaxActive() - 3)时被触发。 举例当maxActive=20, 活动连接为18,空闲连接为1时可以触发"removeAbandoned".但是活动连接只有在没有被使用的时间超过"removeAbandonedTimeout"时才被删除,默认300秒.在resultset中游历不被计算为被使用。 3.使用注意点

用MySQL创建数据库和数据库表(新手必看)

用MySQL创建数据库和数据表: 步骤: 1、使用show语句找出在服务器上当前存在什么数据库:mysql>show databases; 2、创建一个数据库test: mysql>create database test; 3、选择你所创建的数据库: mysql>use test; 4创建一个数据表: 首先查看刚才创建的数据库中存在什么表: mysql>show tables; (说明刚才创建的数据库中还没有数据库表)

接着我们创建一个关于students的数据表:包括学生的学号(id),姓名(name),性别(sex),年龄(age)。 mysql>create table students(id int unsigned not null auto_increment primary key,name char(8) not null,sex char(4) not null,age tinyint unsigned not null,); 解释:以"id int unsigned not null auto_increment primary key" 行进行介绍: "id" 为列的名称; "int" 指定该列的类型为int(取值范围为-8388608到8388607), 在后面我们又用"unsigned" 加以修饰, 表示该类型为无符号型, 此时该列的取值范围为0到16777215; "not null" 说明该列的值不能为空, 必须要填, 如果不指定该属性, 默认可为空; "auto_increment" 需在整数列中使用, 其作用是在插入数据时若该列为NULL, MySQL将自动产生一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列。"primary key" 表示该列是表的主键, 本列的值必须唯一, MySQL将自动索引该列。 下面的char(8) 表示存储的字符长度为8, tinyint的取值范围为-127到128, default 属性指定当该列值为空时的默认值。

C#-连接MYSQL数据库的3种方法及示例

C# 连接MYSQL数据库的方法及示例 连接MYSQL数据库的方法及示例 方法一: using MySql.Data using MySql.Data.MySqlClient; 其他操作跟SQL是差不多,无非就是前缀变成MySql了. 补充: 下面是连接字符串,供参考. MySqlConnection con = new MySql.Data.MySqlClient.MySqlConnection("Database='testdb';Data Source='localhost';User Id='db';Password='apple';charset='utf8'"); con.Open(); MySqlCommand cmd = new MySqlCommand(); cmd.Connection = con; 使用MYSQL推出的MySQL Connector/Net is an https://www.360docs.net/doc/d7963888.html, driver for MySQL 该组件为MYSQL为https://www.360docs.net/doc/d7963888.html,访问MYSQL数据库设计的.NET访问组件。 安装完成该组件后,引用命名空间MySql.Data.MySqlClient; 使用命令行编译时:csc /r:MySql.Data.dll test.cs 方法二: 通过ODBC访问MYSQL数据库 访问前要先下载两个组件:https://www.360docs.net/doc/d7963888.html,和MYSQL的ODBC驱动(MySQL Connector/ODBC (MyODBC) driver)目前为3.51版 安装完成后,即可通过ODBC访问MYSQL数据库 方法三: 使用CoreLab推出的MYSQL访问组件,面向.NET 安装完成后,引用命名空间:CoreLab.MySql; 使用命令编译时:csc /r:CoreLab.MySql.dll test.cs 以下为访问MYSQL数据库实例 编译指令:csc /r:CoreLab.MySql.dll /r:MySql.Data.dll test.cs using System; using https://www.360docs.net/doc/d7963888.html,; using System.Text; using CoreLab.MySql; using System.Data.Odbc; using MySql.Data.MySqlClient; class ConnectMySql {

数据库基本知识(自己整理,初学者可以看一下,基于某MySql)

数据库

1常见数据库 1.1MySql : 甲骨文 1.2Oracle: 甲骨文 1.3SQL Server: 微软 1.4Sybase: 赛尔斯 1.5DB2: IBM 2MySql基础知识 2.1关系结构数据模型数据库 2.2SQL(Structured Query Language)结构化查询语言2.2.1DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等 操作数据库 CREATE DATABASE [IF NOT EXISTS]mydb1 USE mydb1 DROP DATABASE [IF NOT EXISTS] mydb1

ALTER DATABASE mydb1 CHARACTER SET utf8 操作表 插入表 CREATE TABLE stu( sid CHAR(6), sname VARCHAR(20), age INT, gender VARCHAR(10) ); 更改表 ALTER TABLE t_user ADD (student varcher(20)) ALTER TABLE t_user MODIFY gender CHAR(20) ALTER TABLE t_user CHANGE gender VARCHER(20) ALTER TABLE t_user REMANE genderTO genders ALTER TABLE t_user DROP gender 删除表 DROP TABLE t_user 2.2.2DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据) 插入数据 INSERT INTO t_user VALUES() INSERT INTO 表名 VALUES(值1,值2,…)

SQL数据库操作步骤及代码

第2章数据库高级编程 ADO、NET就是为、NET框架而创建的,就是对ADO(ActiveX Data Objects)对象模型的扩充。ADO、NET提供了一组数据访问服务的类,可用于对Microsoft SQL Server、Oracle等数据源的一致访问。ADO、NET模型分为、NET Data Provider(数据提供程序)与DataSet数据集(数据处理的核心)两大主要部分。 、NET数据提供程序提供了四个核心对象,分别就是Connection、Command、DataReader 与DataAdapter对象。功能如表2-1所示。 表2-1 ADO、NET核心对象 2、1 SQL Server相关配置 在使用C#访问数据库之前,首先创建一个名为“chap2”的数据库,此数据库作为2、1节及2、2节中例题操作的默认数据库。然后创建数据表Products,表结构如表2-2所示。创建完毕后可录入初始化数据若干条。 表2-2 Products表表结构 上机课的操作中出现问题较多的地方。 1.身份验证方式 SQL Server 2012在安装时默认就是使用Windows验证方式的,但就是安装过后用户可随时修改身份验证方式。 启动SQL Server 2012 Management Studio,在“连接到服务器”对话框中选择“Windows

身份验证”连接服务器,连接成功后,在窗体左侧的“对象资源管理器”中右键单击服务器实例节点,并在弹出的快捷菜单中选择“属性”菜单项,系统将弹出“服务器属性”窗体,切换至“安全性”选项卡,如图2-1所示。 图2-1 “服务器属性”对话框-“安全性”选项卡 在“服务器身份验证”部分选择“SQL Server与Windows身份验证模式”选项,并单击【确定】按钮。系统将提示需要重新启动SQL Server以使配置生效,如图2-2所示。 图2-2 系统提示框 右键单击“对象资源管理器”的服务器实例节点,在弹出的快捷菜单中选择“重新启动”菜单项,SQL Server将重新启动服务,重启成功后即可使用混合验证方式登录SQL Server服务器。 2.添加登录账户 大部分初学者都习惯于使用SQL Server的系统管理员账号“sa”来登录数据库服务器,而在实际工作环境中使用sa账号登录服务器就是不合理的。因为很多情况下系统的数据库就是部署在租用的数据库服务器上的,此时数据库设计人员或编程人员都不可能具有sa账号的使用权限,因此在将身份验证方式修改为SQL Server与Windows混合验证后,需要为某应用程序创建一个专用的登录账户。其操作步骤描述如下。 (1)使用Windows身份验证登录SQL Server,在对象资源管理器中点击“安全性”节点前面的加号“+”,在展开后的“登录名”子节点上单击右键,如图2-3所示,并在弹出的快捷菜单中选择“新建登录名”选项。

2.1MySQL创建数据库表

鲁琴Handout #2 网络数据库技术2013-03-04 网络数据库技术—创建数据库和表 学会了如何键入命令后,就可以学习如何访问数据库了。 这部分的主要内容: ◆命令行方式创建数据库和表 ◆界面创建数据库和表 ◆有关表结构 ◆MySQL的数据类型 1.命令行方式创建数据库 这部分主要介绍如何使用MySQL命令行客户端创建及使用一个简单的数据库。 假设要处理学生相关的信息,可以通过创建表来保存数据,以及从表中检索数据。在这部分,我们将学习如何执行下面的操作: ◆创建数据库 ◆创建表 我们可以使用SHOW命令来显示当前服务器上存在的所有数据库。mysql> SHOW DATABASES; Mysql数据库描述了用户的访问权限;test 数据库通常作为示例,做用户的工作空间。 不同的机器显示出的数据库是不同的;如果没有SHOW DATABASES权限的话,用这个命令是不能显示出数据库的。 如果存在test数据库,我们来访问它。 mysql> USE test Database changed

注意:USE命令,同QUIT命令一样, 后面不需要分号(;)(当然了,如果加上;也没有关系)。另外,USE 命令有一点是特别的:它必须写在一行上。 你可以使用test数据库(如果你可以访问它)来试验下面的命令,但是你做的任何操作都可能被同样可以访问这个数据库的其他用户改变。所以你应该请求MySQL管理员允许你使用自己的数据库。假设你自己的数据库名字为xscj,管理员需要执行下面的命令: mysql> GRANT ALL ON xscj.* TO 'your_mysql_name'@'your_client_host'; 这里,your_mysql_name 是MySQL 用户的名字,your_client_host是你现在正在工作的连接到服务器的主机的名字。 1.1 创建数据库 1.1.1 创建数据库xscj mysql> CREATE DATABASE xscj; 在Unix操作系统下,数据库名字区分大小写(这不同于SQL关键字),表名也区分大小写。在Windows操作系统下,数据库名及表名不区分大小写(尽管在同一个查询语句中大小写应一致),但是在使用过程中最好使用与创建时一致的大小写。 注意:当创建数据库时,显示如下错误提示: ERROR 1044 (42000): Access denied for user 'monty'@'localhost' to database 'menagerie' 这表示你的用户账号没有创建数据库的权限,我们在“MySQL访问权限”一节中再讨论这个问题。 1.1.2 选择数据库xscj 创建一个数据库后,并不能直接使用这个数据库。必须用USE命令将这个数据库变成当前活动的数据库: mysql> USE xscj Database changed 同一个数据库只能创建一次,但是每次使用它时都要用USE命令。 另外,可以在连接mysql服务器时,用连接参数指定当前活动的数据库。shell> mysql -h host -u user -p xscj Enter password: ******** 1.1.3 查询当前活动数据库的命令: SELECT DATABASE();

hibernate配置数据库连接池的三种方法

?数据库连接池的概念(是什么,做什么用的,有什么好处) ?首先,我们还是老套的讲讲连接池的基本概念,概念理解清楚了,我们也知道后面是怎么回事了。?以前我们程序连接数据库的时候,每一次连接数据库都要一个连接,用完后再释放。如果频繁的数据库操作,就会导致性能很低。连接池的出现,为开发过程提供了一个很好的管理平台。当程序中需要建立数据库连接时,只须从内存中取一个来用而不用新建。同样,使用完毕后,只需放回内存即可。而连接的建立、断开都有连接池自身来管理。同时,我们还可以通过设置连接池的参数来控制连接池中的连接数、每个连接的最大使用次数等等。通过使用连接池,将大大提高程序效率,同时,我们可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。 ?而Hibernate的出现把连接池的使用引入了一个新的利用方式,让你充分享受配置化给开发带来的便利。 1 C3P0 (以验证可用) 只需在hibernate.cfg.xml中加入 omdssd_admin omdssd_hskj jdbc:oracle:thin:@10.142.1.138:1521:omds oracle.jdbc.driver.OracleDriver org.hibernate.dialect.Oracle9Dialect true true oracle10g_112 org.hibernate.connection.C3P0ConnectionProvider 5 //连接池中数据库连接的最小数目 30 //连接池中数据库连接的最大数目 1800 //设定数据库连接的过期时间,以秒为单位 50 //可以被缓存的PreparedStatement实例的最大数目。缓存适量的PreparedStatement实例,能够大大提高Hibernate的性能。 120//在使数据库连接自动生效之前处于空闲状态的时间,以秒为单位

C#常用数据库操作方法整理

C#常用操作数据方法整理 using System.Data.SqlClient; //导入sql数据库命名空间,这样可以用sql数据库操作相关类 String ConnectionStr = "server=.;database=数据库名;uid=sa;pwd=123456;"; //数据库连接字符串,server确定数据库服务器名,database定义数据库名,uid定义数据库使用者用户名,pwd为密码。 SqlConnection conn = new SqlConnection(ConnectionStr); //建立数据库连接,只有建立连接了才能操作数据。 //也可以合在一起:SqlConnection conn = new SqlConnection(“server=.;database=数据库名; uid=sa;pwd=123456;”); String SQLString=“”; //数据操作语句放在双引号中,语句有增,删,改,查操作。 SqlCommand comm = new SqlCommand(SQLString, conn); //建立数据库命令,确定sql数据操作语句,和数据库连接。 //也可以合并,SqlCommand comm = new SqlCommand(“数据库操作语句”, conn); conn.Open(); //打开数据库,只有打开数据库,数据库命令才能被执行。 int rows = comm.ExecuteNonQuery(); SqlDataReader dr = comm.ExecuteReader(); //专门用于读取数据库数据 Object result= comm. ExecuteScalar(); //或string result= Cmd. ExecuteScalar().Tostring(); //执行数据库命令: //ExecuteNonQuery()用于增,删,改操作,返回受影响的行数; //ExecuteReader()用于查操作,返回一个SqlDataReader类的对象; //comm.ExecuteScalar()执行查找,返回从数据表中查询结果的第一行第一个单元格的数据。conn.Close();

用MySql创建数据库和表

用MySql创建数据库和表 关键字: mysql 1、使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | +----------+ 3 rows in set (0.00 sec) 2、创建一个数据库abccs mysql> CREATE DATABASE abccs; 注意不同操作系统对大小写的敏感。 3、选择你所创建的数据库 mysql> USE abccs Database changed 此时你已经进入你刚才所建立的数据库abccs. 4、创建一个数据库表 首先看现在你的数据库中存在什么表: mysql> SHOW TABLES; Empty set (0.00 sec) 说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表 mytable: 我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。 mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), -> birth DATE, birthaddr VARCHAR(20)); Query OK, 0 rows affected (0.00 sec) 由于name、birthadd的列值是变化的,因此选择VARCHAR,其长度不一定是20。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句。);性别只需一个字符就可以表示:"m"或"f",因此选用 CHAR(1);birth列则使用DATE数据类型。 创建了一个表后,我们可以看看刚才做的结果,用SHOW TABLES显示数据库中有哪些表: mysql> SHOW TABLES; +---------------------+ | Tables in menagerie | +---------------------+ | mytables | +---------------------+

Crystal Reports(水晶报表) JDBC连接mysql数据库

Crystal Reports 2008(水晶报表) JDBC连接mysql数据库 在本文中,主要介绍的是Crystal Reports 2008使用JDBC连接mysql数据库。 在连接之间,首先要确认你电脑上面都安装了mysql数据库。 其次,就是jdbc连接数据时候所使用的相关jar包。 接下来,就可以进行数据库的一些连接操作了。 对JDBC不是很了解的,可以到完整java开发中JDBC连接数据库代码和步骤了解相关的操作 1.打开Crystal Reports的数据专家 2.点击JDBC(JNDI)出现:

3.输入url和数据库类名,点击下一步:

4.输入password 和user id 点击完成即可。 5.不过,在这操作之前,你需要做的是以下步骤: 在你安装的Crystal Reports目录: 我安装的目录是:D:\crystal reports 2008\Common\4.0\java 在此目录下面,有一个文件:CRConfig.xml配置文件

D:\crystal reports 2008\Common\4.0\java\CRConfig.xml 1 2../.. 310 4 5 6 7 8 9 10CFKOA-YOTTM2M-OOUFAFF-N43M 11 12 13D:\crystal reports 2008\javasdk\bin 14D:\crystal reports 2008\Common\4.0\java/lib/mysql-connector-java-5.1.10-bin.jar;D:\c rystal reports 2008\Common\4.0\java/lib/crlovmanifest.jar;D:\crystal reports 2008\Common\4.0\java/lib/C RLOVExternal.jar;D:\crystal reports 2008\Common\4.0\java/lib/CRDBJDBCServer.jar;D:\crystal reports 2

01关于数据库连接池和动态数据源的实现课案

关于数据库连接池和动态数据源的实现、使用 对于一个简单的数据库应用,由于数据库的访问不是很频繁。这时可以很简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样就不会带来更多的性能上的开销。但是对于复杂的数据库应用,情况就完全不同了。频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。这就意味我们需要去考虑怎样把一个连接多次使用。 连接复用,通过建立数据库的连接池以及一套连接使用的管理策略,使得一个数据库连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭给系统带来的开销。外部使用者可以通过getConnection方法获取连接,使用完毕之后再通过releaseConnection 方法将连接返回,注意此时的连接并没有关闭,而是由连接池管理器回收,并为下一次使用做好准备。 一般的数据库连接池,是使用配置文件在项目启动的使用加载配置文件,根据文件中描述,生成对应的数据库连接池。连接池有许多的属性比如:连接池的初始化连接处、连接池的最大连接数、每次的自增连接数、最大空闲连接数等等 数据库连接池技术带来的优势: 1.资源重用 由于数据库连接得到重用,避免了频繁创建、释放连接引起的大量性能开销。在减 少系统消耗的基础上,另一方面也增进了系统运行环境的平稳性(减少内存碎片以 及数据库临时进程/线程的数量) 2.更快的系统响应速度 数据库连接池在初始化过程中,往往已经创建了若干数据库连接置于池中备用,此 时连接的初始化工作均已完成,对于业务处理而言,直接利用现有的可以连接,避 免了数据库连接初始化和释放过程的时间开销,从而缩短了系统整体的响应时间。 3. 统一的连接管理,避免数据库连接泄露 在较为完备的数据库连接池实现中可以根据预先的连接占用超时设定,强制回收被 占用的连接。从而避免常规数据库连接操作中可能出现的资源泄露。 一个数据库连接池的实现 1.前言 数据库应用,在许多软件系统中经常用到,是开发中大型系统不可缺少的辅助。但如果对数据库资源没有很好地管理(如:没有及时回收数据库的游标(ResultSet)、Statement、连接(Connection)等资源),往往会直接导致系统的稳定。这类不稳定因素,不单单由数据库或者系统本身一方引起,只有系统正式使用后,随着流量、用户的增加,才会逐步显露。 在基于Java开发的系统中,JDBC是程序员和数据库打交道的主要途径,提供了完备的数据库操作方法接口。但考虑到规范的适用性,JDBC只提供了最直接的数据库操作规范,对数据库资源管理,如:对物理连接的管理及缓冲,期望第三方应用服务器(Application Server)的提供。下面以JDBC规范为基础,介绍相关的数据库连接池机制,并就如果以简单的方式,实现有效地管理数据库资源介绍相关实现技术。

组态软件操作指南 与数据库连接

第八章与数据库连接 本章内容 创建数据源及数据库 创建表格模板 创建记录体 对数据库的操作 数据集函数在关系库中的应用 概述 本章我们将讲解如何将阀门的状态变化记录到数据库中并进行查询。数据库我们选择Access数据库,记录的内容包括:日期、时间、阀门描述、阀门状态四个字段。我们利用KingSCADA的SQL访问功能来实现。 KingSCADA SQL访问功能实现KingSCADA和其他外部数据库之间的数据传输。提供2种访问方式:一种是记录体的方式,即变量和数据库表中的字段建立绑定关系;一种是数据集方式。 记录体方式就是通过记录体配置项,实现把数据库里面的字段和KingSCADA的变量建立绑定关系。绑定后,可以通过SQL插入或更新函数将绑定变量插入或更新到数据库的对应字段中;也可以通过SQL查询函数将数据库中对应字段数据查询并保存到绑定变量中,实现KingSCADA和关系数据库的数据交互。记录体方式只能在KingSCADA服务器端应用。 数据集方式就是通过KingSCADA提供的一系列数据集函数,执行标准SQL语句,实现KingSCADA与关系数据库之间的增、查、删、改等所有数据交互功能,尤其可以通过数据集函数,实现从数据库内查询出符合SQL语句的数据集合,并在报表、曲线中进行批量数据展示。数据集方式支持在KingSCADA服务器端、C/S客户端、WEB上使用。 在这里建议采用数据集方式,更加方便、灵活。 下面具体介绍2种方式的具体使用 第一节记录体方式在关系数据库中的应用(仅参考) 一、创建数据源及数据库 以KingSCADA带的DEMO工程中的数据库为例,首先将文件从DEMO工程中拷贝到我们新建的这个培训工程中。 然后,用Windows控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚才拷贝过来的Access数据库(即),如图8-1所示:

用MySQL创建数据库和数据库表

用MySQL创建数据库和数据库表 帐户luowei505050的专栏 类别数据库 #用MySQL创建数据库和数据库表 #1、使用SHOW语句找出在服务器上当前存在什么数据库:SHOW DATABASES; #2、创建一个数据库db1 create database db1; #3、选择你所创建的数据库 use db1; #use test; #4、创建一个数据库表 create table t_person (FNamevarchar(20),Fageint); # 5、显示表的结构: SHOW TABLES; #查看表中数据 select * from t_person; # 6、往表中加入记录 Insert Into t_person(FName,FAge) values('Jim',25); Insert Into t_person(FName,FAge) values('green',38);

Insert Into t_person(FName,FAge) values('kate',20); Insert Into t_person(FName,FAge) values('john',23); Insert Into t_person(FName,FAge) values('tom',28); Insert Into t_person(FName,FAge) values('daviy',30); #查看表中数据 select * from t_person; # 7、用文本方式将数据装入一个数据库表 LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet; #其它操作 insert into t_person(fname) values('lily'); insert into t_person values('poly',22); updatet_person set fage=30; updatet_person set fage=20 where fname='tom'; updatet_person set fage=50 where fname='tom' or fname='jim'; delete from t_person where fname='jim'; delete from t_person where fage>30; delete from t_person;

vs2010连接mysql数据库方法

Vs2010连接Mysql数据库方法 下载MySQL 5.5.13 正式版:https://www.360docs.net/doc/d7963888.html,/html/361.html ------------------------------------------- 操作系统:winxp-32bit 数据库:MySQL Server 5.5 (安装路径:D:\Program Files\MySQL\MySQL Server 5.5) IDE: Microsoft Visual Studio 2010 untimate/Professional (以上东西都是完整安装的) ------------------------------------------- 一、VC设置 1、新建一个工程,随便写一个helloworld,目的是就是让工程下的“debug”文件夹出现 2、把D:\Program Files\MySQL\MySQL Server 5.5\lib下面的libmysql.dll复制到工程的debug文件夹里面 3、接下来要设置一些引用文件的环境变量,首先,点击项目->属性->vc++目录。 然后“include目录”那把“D:\Program Files\MySQL\MySQL Server 5.5\include”给加进来 再然后“lib目录”那里把“D:\Program Files\MySQL\MySQL Server 5.5\lib”也一起加进来 VC6.0设置: (1)打开VC6.0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列表中选中“Includefiles”,然后在中间列表框中添加你本地安装MySQL的include目录路径。(我的是D:\Program Files\MySQL\MySQL Server 5.5\include)。 (2)在上面说到的“Show directories for:”下拉列表中选中“Library files”,然后添加你本地安装MySQL的Lib目录路径。Lib目录下有debug目录,选debug。(我的是D:\Program Files\MySQL\MySQL Server 5.5\lib\debug)。 4、然后在项目->属性窗口下点击:连接器->输入->附加依赖项,把"libmysql.lib"写进去VC6.0设置:在“Project settings->Link:Object/library modules”里面添加“libmysql.lib”。 使用VC++编译时再添加以下项: 5、在stdafx.h里面添加如下的内容: #include "mysql.h" #include "winsock.h" // 如果编译出错,则把该行放到#include "mysql.h"之前#pragma comment(lib,"libmySQL.lib") // 如果在附加依赖项里已增加,则就不要添加了 二、数据库的相关操作 1、打开“开始->所有程序->MySQL->MySQL Server 5.5->MySQL Command Line Client.exe”,如果有密码就输入密码,没有设置密码就直接按回车,会提示服务器启动成功。

解决数据库连接池连接mysql时,每隔8小时mysql自动断开连接的问题

解决数据库连接池连接mysql 时,每隔8小时mysql 自动断开连接的问题文章分类:数据库解决数据库连接池连接mysql 时,每隔8小时mysql 自动断开所有连接的问题最近有个问题非常讨厌,我们的工程中使用自己的连接池连接mysql 数据库,可mysql 数据库每隔8小时就会自动断开所有链接,连接池就失效,需要重新启动tomcat 才有效,呵呵,服务器可不能老是用“人工智能”来干预啊,后来翻了一下mysql 的手册,发现mysql 有解决办法,下面就是最简单的解决办法:连接数据库的时候加上autoReconnect=true 这个参数: jdbc:mysql://localhost:3306/accounant?useUnicode=true& characterEncoding=UTF-8&au toReconnect=true 但是,在mysql 手册中有这样一段话:autoReconnect 驱动程序是否应尝试再次建立失效的和/或死连接?如果允许,对于在失效或死连接上发出的查询(属于当前事务),驱动程序将抛出异常,但在新事务的连接上发出下一个查询时,将尝试再连接。不推荐使用该特性,这是因为,当应用程序不能恰当处理SQLExceptions 时,它会造成与会话状态和数据一致性有关的副作用,设计它的目的仅用于下述情况,即,当你无法配置应用程序来恰当处理因死连接和/或无效连接导致的SQLExceptions 时。作为可选方式,可将MySQL 服务器变量“wait_timeout”设置为较高的值,而不

是默认的8 小时。呵呵,不知道这种“副作用”会产生什么后果,难道会使tomcat 崩溃??会产生“数据一致性”问题??保险一点的办法还是增加“wait_timeout”这个值吧,把28800 设置成更大的值,这样应该就不会有什么问题了吧。注:目前我使用的是autoReconnect 这种方式,未发现什么问题。

相关文档
最新文档