连接数据库的操作 总结

连接数据库需要经过以下几个步骤:

1、  根据驱动程序名称driverName,利用Java反射机制,加载数据库驱动程序;

2、  根据连接字符串connectionURL,从驱动管理器中获取数据库连接对象;

3、  利用数据库连接对象进行数据库操作。

代码如下:

Class providerClass = Class.forName(driverName);

Connection = DriverManager.getConnection(connectionURL, username,password);

return connection ;


不同数据库的驱动程序和连接字符串:

MySQL:

驱动程序名称

com.mysql.jdbc.Driver

连接字符串

jdbc:mysql://<IP>/<DB>?useUnicode=true&amp;characterEncoding=GBK


SQL Server:

驱动程序名称

com.microsoft.jdbc.sqlserver.SQLServerDriver

连接字符串

jdbc:microsoft:sqlserver://<IP>:1433DatabaseName=<DB>


Oracle:

驱动程序名称

oracle.jdbc.driver.OracleDriver

连接字符串

jdbc:oracle:thin:@<IP>:1521:<DB>


DB2:DB2的JSP连接方式有APP驱动、NET驱动和JCC驱动三种方式。

    APP方式:

驱动程序名称

COM.ibm.db2.jdbc.app.DB2Driver

连接字符串

jdbc:db2:<DB>   

   

    NET方式:

驱动程序名称

COM.ibm.db2.jdbc.net.DB2Driver

连接字符串

jdbc:db2://<IP>:6789/<DB>

   

    JCC方式:

驱动程序名称

COM.ibm.db2.jdbc.jcc.DB2Driver

连接字符串

jdbc:db2://<IP>:50000/<DB>


连接数据库常见问题:

1、    系统抛出异常java.lang.ClassNotFoundException。例如:

           java.lang.ClassNotFoundExceptioncom.mysql.jdbc.Driver

这说明试图初始化驱动程序的时候出错,在Class.forName()中,Java虚拟机无法在类路径中找到指定驱动名称的驱动类。需要把包含驱动类的 mysql-connector-java-x.xx.xx-bin.jar 文件放置在运行的类路径WEB-INF/lib下。

2、  系统抛出异常java.net.SocketException:Connection Refused,连接被拒绝。

     1)  如果数据库服务器未开启或无法建立连接,则抛出异常如下:

                java.net.SocketExceptionjava.net.ConnectionExceptionConnection                 refusedconnect

         首先确定连接字符串中的URL配置中IP是否正确,端口是否正确,同时需要确保服务器已经启动接受服务请求。

     2)  如果确定服务器已经启动,那么可以查看配置,看数据库对外服务的端口是否为默认端口,抑或有所改动。

     3)  如果服务器已经启动,而且采用了默认端口,那么需要查证服务器上是否安装了网络防火墙,阻断了数据库连接请求。

3、  如果调用DriverManager.getConnection(connectionURL,username,password)usernamepassword不正确,那么驱动程序将抛出如下异常:

java.sql.SQLExceptionAccess denied for user ‘root’@’localhost’(using passwordYES)

需要修改用户名和口令后重新进行连接。

4、  由于数据库驱动和数据库服务器的版本不匹配,导致了连接失败。

转载于:https://my.oschina.net/u/1172409/blog/156795

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值