连接数据库需要经过以下几个步骤:.DOC
连接数据库需要经过以下几个步骤:
根据驱动程序名称driverName,利用Java反射机制,加载数据库驱动程序;
根据连接字符串connectionURL,从驱动管理器中获取数据库连接对象;
利用数据库连接对象进行数据库操作。
代码如下:
Class providerClass = Class.forName(driverName);
Connection = DriverManager.getConnection(connectionURL, username,password);
return connection ;
不同数据库的驱动程序和连接字符串:
MySQL:
驱动程序名称
com.mysql.jdbc.Driver
连接字符串
jdbc:mysql:///?useUnicode=true&characterEncoding=GBK
SQL Server:
驱动程序名称
com.microsoft.jdbc.sqlserver.SQLServerDriver
连接字符串
jdbc:microsoft:sqlserver://:1433;DatabaseName=
Oracle:
驱动程序名称
oracle.jdbc.driver.OracleDriver
连接字符串
jdbc:oracle:thin:@:1521:
DB2:
DB2的JSP连接方式有APP驱动、NET驱动和JCC驱动三种方式。
APP方式:
驱动程序名称
COM.ibm.db2.jdbc.app.DB2Driver
连接字符串
jdbc:db2:
NET方式:
驱动程序名称
COM..DB2Driver
连接字符串
jdbc:db2://:6789/
JCC方式:
驱动程序名称
COM.ibm.db2.jdbc.jcc.DB2Driver
连接字符串
jdbc:db2://:50000/
连接数据库常见问题:
系统抛出异常java.lang.ClassNotFoundException。例如:
java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
这说明试图初始化驱动程序的时候出错,在Class.forName()中,Java虚拟机无法在类路径中找到指定驱动名称的驱动类。需要把包含驱动类的 mysql-connector-java-x.xx.xx-bin.jar 文件放置在运行的类路径WEB-INF/lib下。
系统抛出异常.SocketException:Connection Refused,连接被拒绝。
如果数据库服务器未开启或无法建立连接,则抛出异常如下:
.SocketException:.ConnectionException:Connection refused:connect
首先确定连接字符串中的URL配置中IP是否正确,端口是否正确,同时需要确保服务器已经启动接受服务请求。
如果确定服务器已经启动,那么可以查看配置,看数据库对外服务的端口是否为默认端口,抑或有所改动。
如果服务器已经启动,而且采用了默认端口,那么需要查证服务器上是否安装了网络防火墙,阻断了数据库连接请求。
如果调用DriverManager.getConnection(connectionURL,username,password)中username和password不正确,那么驱动程序将抛出如下异常:
java.sql.SQLException:Access denied for user ‘root’@’localhost’(using password:YES)
需要修改用户名和口令后重新进行连接。
由于数据库驱动和数据库服务器的版本不匹配,导致了连接失败。
B/S结构和C/S结构的区别:
信息管理系统的发展经历了4个阶段:主机终端阶段,文件服务器阶段,客户机服务器(Client/Server,简称C/S)阶段,浏览器服务器(Browser/Server,简称B/S)阶段。
C/S的可视化开发工具较多,软件产品可操作性强,但是C/S生来便带着致命的弱点:需要在各个客户机上安装、运行以及维护程序,而且服务器直接暴露在网络上,给安全带来了严重威胁。
B/S基于浏览器的策略,简化了客户端。B/S软件无须在不同的客户机安装客户端软件,只要通过通用的浏览器工具,就可以使用系统。由于各个操作系统下都提供了浏览器,而且都遵循共同的规范,因此,B/S可以使得客户端很容易的实现跨平台。由于B/S系统采用HTTP协议通信,很容易穿透防火墙,而不像C/S系统对于网络环境有较高的要求。
如何处理中文乱码问题:
JSP输