文档库 最新最全的文档下载
当前位置:文档库 › QT联接mysql数据库的驱动方法

QT联接mysql数据库的驱动方法

QT联接mysql数据库的驱动方法
QT联接mysql数据库的驱动方法

QT联接mysql数据库的驱动方法

MYSQL 版本:mysql-essential-5.1.55-win32.msi

QT及插件:

注意事项及步骤:

1、安装MySQL时选择安装(定制安装)include和lib文件,安装目录中不能有空格,我安装到了C:\mysql

2、设置环境变量,需添加如下的环境变量:

C:\Qt\2009.03\bin;

C:\Qt\2009.03\qt\bin;

C:\Qt\2009.03\mingw\bin;

C:\mysql\lib\opt;

C:\mysql\include;

C:\mysql\bin

上述环境变量不能缺省,若设置不正确编译过程中会遇到很多错误。

3、打开Qt Command Prompt,输入第一条命令:

cd %QTDIR%\src\plugins\sqldrivers\mysql后按回车

C:\Qt\2009.03\qt\src\plugins\sqldrivers\mysql我的在这里。

然后输入第二条命令:

qmake "INCLUDEPATH+=C:\MySQL\include"

"LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro

或者把这两个路径设置加到mysql.pro 的第二行处也可。

输入:

mingw32-make release

Mingw32-make debug

进行编译

4、上述操作完成后,在C:\Qt\2009.03\qt\plugins\sqldrivers就会生成所需的驱动文件。

在安装过程中遇可能到的一些问题。

1、环境变量设置错误,没有将上述六条必须的路径全部正确输入。

2、正确输入环境变量后在Qt Command Prompt中编译出现

C:\mysql\libmysql.lib: No such file or directory的错误。

这是说在C:\mysql目录中找不到libmysql.lib库文件,到

C:\mysql\lib\opt目录中复制该文件放到C:\mysql中然后再编译就会成功。

3、WARNING: (internal):1: Unescaped backslashes are deprecated. 这种错误的解决方法如下:

(1)进入目录E:\Qt\2009.03\qt\src\plugins\sqldrivers\mysql,用Notepad++之类的打开mysql.pro,在第二行添加如下的信息:INCLUDEPATH+="C:\MySQL\include"

LIBS+="C:\MySQL\lib\opt\libmysql.lib"

(2)在dos下输入:qmake -o Makefile mysql.pro此时可能也会提示:

WARNING:

c:\Qt\2009.03\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped backslashes are deprecated.

WARNING:

c:\Qt\2009.03\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped backslashes are deprecated.

WARNING:

c:\Qt\2009.03\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped backslashes are deprecated.

但是对最后的结果没有影响。

(3)输入:mingw32-make(使用nmake或者是make提示不是内部或外部命令,所以要用mingw32-make命令)

(4)上述操作完毕后,在C:\Qt\2009.03\qt\plugins\sqldrivers 就会生成所需的驱动文件,包含四个:

qsqlmysql4.dll

libqsqlmysql4.a

qsqlmysqld4.dll

libqsqlmysqld4.a

或者从release 和debug目录下找到这四个文件,拷贝到该目录下。

4、

C:\Qt\2009.03\mingw/bin/../lib/gcc/mingw32/4.4.0/../../../. ./mingw32/bin/ld.exe cannot find -1libmysql

该问题产生的原因是在执行mingw32-make时,编译器在

c:\Qt\2009.03\mingw文件夹中找不到对应的库文件。此问题的解决方法如下:

将C:\MySQL\lib\opt中的libmysql.lib拷贝到

C:\Qt\2009.03\mingw\lib中即可解决。

综上:

1 安装Mysql

2 设置环境变量(大多是失败的主因)

3 尽量使用Qt自带的编译工具,编译数据库驱动

4 得到数据库驱动

特别声明:

Mysql安装路径中不能有空格,这是Qt的一个特殊要求

Mysql安装时最好把源代码也安装上,这个在安装时有选项

Mysql配置时最好打开网络访问模式

如果出现:

“QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC”

解决方法:C:\MySQL\bin目录下的libmySQL.dll文件复制到Qt安装目录下的C:\%path%\Qt\qt\bin目录中

给一个测试例子的主函数:

#include

#include

#include

int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost");

db.setDatabaseName("mysql");

db.setUserName("root");

db.setPassword("123456");

if (!db.open())

qDebug() << "Failed to connect to root mysql admin";

return a.exec();

}

注意数据库的密码!

QT操作数据库 学习基础

QT操作数据库学习基础 QT操作数据库学习基础是本文要介绍的内容,对于数据库相信友们有所接触,那么先来看本文。 一.数据库操作 1.MySql驱动编译 在windows系统中,我们在mingw,MySql5和Qt4的环境中编译MySql驱动主要有以下几个步骤: (1)下载 https://www.wendangku.net/doc/9a17543709.html,/download/mingw-utils-0.3.tar.gz ;(2)将mingw-utils-0.3.tar.gz解压缩,将bin目录下的reimp 工具复制到mingw目录下的bin 里,如果Dev-C++就复制到C:\Dev-Cpp\bin目录下 (3)将MySql安装目录下的include和lib目录拷贝到没有空格的路径下,比如C: \mysql下; (4)打开Qt Command Prompt,分别执行以下命令: cd c:\mysql\lib\opt reimp -d libmysql.lib dlltool -k -d libmysql.def -l libmysql.a 这样在c:\mysql\lib\opt目录下就会生成一个libmysql.a 文件; (5)接下来执行以下命令:cd %QTDIR%\src\plugins\sqldrivers\mysql qmake -o Makefile

"INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C :\MYSQL\LIB\OPT\LIBMYSQL.a" mysql.pro 找到%QTDIR%\src\plugins\sqldrivers\mysql\下的Makefile.release 和Makefile.debug文件,去掉-llibmysql 项再make编译,这下便会在%QTDIR%\plugins\sqldrivers目录下面生成libqsqlmysql.a, qsqlmysql.dll这两个文件,然后在程式的.pro文件中添加QT+=sql并在程式开头包含#include 就能操作数据库了。 2.完全解决数据库存储中文和Qt程式显示数据库中文及中文字符串的问题 (1)数据库和表及表里的字符相关字段(varchar, char, text 等)都要使用gbk_chinese_ci这种方式,不这样做也能,但这样做,会省非常多麻烦。 (2)重新编译Qt的MySQL驱动,需要修改src / sql / drivers / mysql / qsql_mysql.cpp文件。要修改的部分如下:第一百零八行的codec函数static QTextCodec* codec(MYSQL* mysql) { return QTextCodec::codecForName("GBK");//增加部分#if MYSQL_VERSION_ID >= 32321 QTextCodec* heuristicCodec = QTextCodec :: codecForName ( mysql_character_set_name ( mysql ) ); if (heuristicCodec) return heuristicCodec; #endif

关于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.wendangku.net/doc/9a17543709.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.使用注意点

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.wendangku.net/doc/9a17543709.html,/downloads/connector/odbc/ ②.我们下载与自己系统相应的ODBC驱动 这里我们选择

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#-连接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.wendangku.net/doc/9a17543709.html, driver for MySQL 该组件为MYSQL为https://www.wendangku.net/doc/9a17543709.html,访问MYSQL数据库设计的.NET访问组件。 安装完成该组件后,引用命名空间MySql.Data.MySqlClient; 使用命令行编译时:csc /r:MySql.Data.dll test.cs 方法二: 通过ODBC访问MYSQL数据库 访问前要先下载两个组件:https://www.wendangku.net/doc/9a17543709.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.wendangku.net/doc/9a17543709.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,…)

qt数据库用户接口

1.QSqlQueryModel *model = new QSqlQueryModel(); 2.model->setQuery("SELECT table_https://www.wendangku.net/doc/9a17543709.html,er_id, table_group.group_name FROM table_group," 3."table_user WHERE table_group.group_id=table_user.group_id"); 4. 5.for(int i = 0; i < model->rowCount(); i++) 6.{ 7.qDebug() << model->record(i).value("user_id").toString(); 8.qDebug() << model->record(i).value("group_name").toString(); 9.} 1.sqlite3可以有多种多表查询方法,比如 select (select * from table2) from table1 where xxx=xxx;

1.select table1.abc from table1,table2 where table1.xxx=table 2.xxx; 1.select table1.abc from table1 inner join table2 on table1.xxx=table 2.xxx; 1.QSqlTableModel tablemodel; //单表查询 2.tablemodel.setTable("table_user"); //绑定表 3.tablemodel.setFilter("group_id=1"); //设置查询条件 4.tablemodel.select(); //查询 5.for(int i = 0; i < tablemodel.rowCount(); i++) 6.{ 7.qDebug() << tablemodel.record(i).value(1).toString(); 8.}

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

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

QT数据库操作

二十一、Qt数据库(一)简介(原创) 2010-03-02 12:03 声明:本文原创于yafeilinux的百度博客,https://www.wendangku.net/doc/9a17543709.html,/yafeilinux 转载请注明出处。 从今天开始我们学习Qt数据库编程的内容。 先说明:我们以后使用现在最新的基于Qt 4.6.2的Qt Creator 1.3.1 Windows 版本,该版本是2010年2月17日发布的。 数据库几乎是每个较大的软件所必须应用的,而在Qt中也使用QtSql模块实现了对数据库的完美支持。我们在Qt Creator的帮助中查找QtSql Module,其内容如下图: 可以看到这个模块是一组类的集合,使用这个模块我们需要加入头文件 #include ,而在工程文件中需要加入一行代码:QT += sql 这里每个类的作用在后面都有简单的介绍,你也可以进入其中查看其详细内容。下面我们先简单的说一下QSqlDatabase类和QSqlQuery类。 QSqlDatabase类实现了数据库连接的操作,现在Qt支持的数据库类型有如下几种:

而现在我们使用的免费的Qt只提供了SQLite和ODBC数据库的驱动(我们可以在Qt Creator安装目录下的qt\plugins\sqldrivers文件夹下查看),而其他数据库的驱动需要我们自己添加。SQLite是一个小巧的嵌入式数据库,关于它的介绍你可以自己在网上查找。 QSqlQuery类用来执行SQL语句。(关于SQL语句:在我的教程中只会出现很简单的SQL语句,你没有相关知识也可以看懂,但是如果想进行深入学习,就需要自己学习相关知识了。) 下面我们就先利用这两个类来实现最简单的数据库程序,其他的类我们会在以后的教程中逐个学习到。 1.新建Qt控制台工程。

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

vs2010连接mysql数据库方法

Vs2010连接Mysql数据库方法 下载MySQL 5.5.13 正式版:https://www.wendangku.net/doc/9a17543709.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 这种方式,未发现什么问题。

连接MYSQL数据库

连接MySQL 数据库 本文档说明如何设置从NetBeans IDE 6.7 到MySQL 数据库的连接。连接后,即可通过执行以下操作开始在IDE 的数据库资源管理器中使用MySQL:创建新的数据库和表、在表中填充数据,并对数据库结构和内容运行SQL 查询。本教程是专门为那些对数据库管理有基本了解,并想要运用其知识在 NetBeans IDE 中使用MySQL 的初学者而设计的。 MySQL是一种常见的开源关系数据库管理系统(Relational Database Management System, RDBMS),由于其速度、灵活性和可靠性而常用于Web 应用程序中。MySQL 使用SQL(即Structured Query Language,结构化查询语言)访问和处理数据库中包含的数据。 预计时间:30分钟 目录 ?配置MySQL 服务器属性 ?启动MySQL 服务器 ?创建并连接到数据库 ?创建数据库表 ?使用表数据 ?运行SQL 脚本 ?另请参见 要学习本教程,您需要具备以下软件和资源。 软件或资源要求的版本 NetBeans IDE 6.8、6.7 或6.5 Java 下载 Java Development Kit (JDK)版本6 或版本5 MySQL 数据库服务器版本5.x 注意:本教程假设已在计算机上安装并配置了MySQL RDBMS。如果是首次安装,请查阅正式的MySQL 文档以寻求帮助。还可以参阅在Windows 操作系统中设置MySQL 数据库服务器。 配置MySQL 服务器属性 NetBeans IDE 6.8 支持MySQL RDBMS。访问NetBeans IDE 中的MySQL 数据库服务器之前,必须先配置MySQL 服务器属性。 1.在“服务”窗口中,展开“数据库”节点,右键单击“MySQL 服务器”节点并选择“属性”。 “MySQL 服务器属性”对话框打开。

Tomcat配置数据源连接MySql数据库

1. 修改Tomcat安装目录下的conf文件夹里的context.xml文件. 在context.xml文件中添加以下内容:(注意是在之间添加) 其中:name必须为"jdbc/..."的形式."..."是指你想给datasource命名的名字. username是连接数据库的用户名. password是连接数据库的密码. url是jdbc:mysql://主机名:端口号/数据库名称 2. 在Tomcat安装目录下的webapps里创建工程MyTest工程. 3. 将ROOT下的WEB-INF文件夹整个拷贝至MyTest中. 4. 修改修改MyTest\WEB-INF中web.xml,在中添加如下 DB Connection jdbc/mytest javax.sql.DataSource Container 此处的名字应与context.xml中Resource name一致。 5. 在Tomcat服务器下的lib文件夹下添加连接MySQL数据库的驱动包。 6. MyTest下编写jsp测试连接池是否成功,在MyTest文件夹下创建myTest.jsp文件.输入内容如下:(注意修改数据库名字.) <%@ page import=”java.sql.*, javax.sql.*, javax.naming.*”contentType="text/html;charset=gb2312"%> 连接池测试页面 <%out.println("

Hello,test DBCP !

");%> <%

ODBC连接MySQL数据库

使用ODBC管理MySql数据库 1、测试环境简介 首先,测试环境中MySql数据库是安装在服务器上的,IP地址为192.168.100.1服务器操作系统为Windows Server 2008,所安装的数据库版本为5.5.0-m2-win32,安装的过程中数据库管理员帐号采用的是默认的root,密码是123456,安装成功后在服务器上配置了名称为OA的数据库。我们的目标是在IP地址为192.168.100.111的内网客户端上实现对上述服务器上的MySql数据库的访问控制。 2、在服务器上添加管理账户 默认情况先在服务器上安装MySql数据库的过程中所设置的管理账户是不能实现远程访问的,此时需要首先在服务器上添加针对客户端IP地址的管理账户,这里我所使用的管理软件是Navicat for MySql,在服务器上登录这个软件之后的显示效果如下: 图1 Navicat for MySql 点击上图中的“管理账户”,出现如下所示界面:

图2 账户管理 通过上图的添加账户添加针对192.168.100.111的客户端的管理账户,添加之后选择该账户对数据库的操作权限,简单的可以全部选择,如下所示: 图3 设置账户的操作权限 至此在客户端所使用的账户信息设置完成。 3、客户端安装针对MySql数据库管理的组件 在客户端机器192.168.100.111上安装针对MySql数据库操作的ODBC组件mysql-connector-odbc-3.51.30-win32.msi。 4、设置ODBC数据源 4.1 打开数据源管理 在客户端电脑上通过“开始”->“控制面板”->“管理工具”->“数据源(ODBC)”,打开数据源管理界面,如下所示:

【IT专家】MySQL使用数据库出现如下异常,用的是dbcp连接池,, 跪求!!!

本文由我司收集整编,推荐下载,如有疑问,请与我司联系MySQL使用数据库出现如下异常,用的是dbcp连接池,,跪 求!!! 严 重:Servlet.service()forservlet[springDispatcherServlet]incontextwithpath[/springmybatis]t hrewexception[Requestprocessingfailed;nestedexceptionisorg.mybatis.spring.MyBatisSyst emException:nestedexceptionisorg.apache.ibatis.exceptions.PersistenceException: ###Errorqueryingdatabase.Cause:org.springframework.jdbc.CannotGetJdbcConnectionEx ception:CouldnotgetJDBCConnection;nestedexceptionisjava.sql.SQLException:Cannotcre atePoolableConnectionFactory(Accessdeniedforuser’root’@’localhost’(usingpassword:YE S)) ###Theerrormayexistinfile[D:\Tomcat\webapps\springmybatis\WEB-INF\classes\com\hellojava\springmybatis\entity\UserMapper.xml] ###Theerrormayinvolvecom.hellojava.springmybatis.dao.IUserDao.loadbyId ###Theerroroccurredwhileexecutingaquery ###Cause:org.springframework.jdbc.CannotGetJdbcConnectionException:CouldnotgetJD BCConnection;nestedexceptionisjava.sql.SQLException:CannotcreatePoolableConnection Factory(Accessdeniedforuser’root’@’localhost’(usingpassword:YES))]withrootcause java.sql.SQLException:Accessdeniedforuser’root’@’localhost’(usingpassword:YES) atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515) atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447) atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:911) atcom.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3953) atcom.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1276) atcom.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2048)

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

今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,希望对大家有所帮助:(以Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下面建文件夹META-INF,里面建一个文件context.xml,内容如下: 方式二:在tomcat6.0的目录conf下面的context.xml中,修改原来的context标签,改成内容如下: WEB-INF/web.xml 方式三:在配置虚拟目录时,也就是在配置conf下面的server.xml时,在context标签内改成如下形式:

相关文档
相关文档 最新文档