myEclipse6.5与数据库(SQL Server2008)连接遇到的问题<用SSH框架的时候,用servlet+javabean+jsp的时候>

昨天因为学习SSH框架的搭建,时隔一年又重新遇到了myEclipse连接数据库的问题。废话不多说,上干货

(以下全部按照我遇到的问题的顺序,也就是没有顺序,就是任性)

 

请注意:这是在myEclipse6.5+SQL Server2008的前提下出现的问题,当用mySQL或者SQL2000以前,或者用oracle云云时,里面用的jar包都不一样的!不可参照下列哦~

 

1、MyEclipse 数据库连接创建失败,出现 Driver class not found

这是搭建SSH框架,在数据库连接时加载sqljdbc4.jar包的时候出现错误提示。感觉一切都按照资料中的步骤走的,并且确保以下都正确:

(1)Driver template选择空白

(2)Driver name 为sql2008(随便写的名字),

(3)Connection URL是  jdbc:sqlserver://localhost:1433;databasename=master  (确保你的数据库端口号是1433<怎么设置请看下文>,并且电脑中安装的sql2008中有名为master的数据库<一般都有>)

(4)User name 是 sa(这个根据你的数据库登录时候的)

(5)password 是 sql2008(这根据你的数据库登录时候的)

(6)DriverClassName是  com.microsoft.sqlserver.jdbc.SQLServerDriver

Add JARs 的时候明明检查了sqljdbc4.jar包存在,并且资料上说SQL2005及以上要用sqljdbc4.jar(不要sqljdbc.jar包),但是啊但是!就是在头上会出现 Driver class not found  怎么办?查阅无数资料说明,原来用SSH框架搭建的时候不比用servlet+javabean+jsp的时候,只需要sqljdbc4.jar,这时候需要两个jar包,或者说这时候sqljdbc.jar更需要(有时候不需要sqljdbc4.jar,看你的系统),因此,下载数据库的驱动jar包(http://www.microsoft.com/zh-cn/download/details.aspx?id=21599),解压后放在C:\Program Files (x86)\Microsoft SQL Server JDBC Driver

如图:

 

记得要配置环境环境变量:计算机->属性->高级系统设置->环境变量->双击系统变量中CLASSPATH,在变量值中加上  ;C:\Program Files (x86)\Microsoft SQL Server JDBC Driver\sqljdbc_3.0\chs\sqljdbc4.jar  (前面的分号;’不要忘!)

 

前面完成了,jar包也有了,基本上不会出什么大问题,但是!这时候好像还是不行,那就可能是jar包坏了(为什么会坏,我也没干什么啊,但是就是有人会遇到我这种问题,可能拷贝的时候出了错?总之,什么问题都检查不出的时候,你就试试到官网上重新下载个jar包《这里解压后有sqljdbc4.jar和sqljdbc.jar--->http://www.microsoft.com/zh-cn/download/details.aspx?id=21599》)

 

2、数据库TCP/IP协议没有打开,端口号也没有设置(接收的协议没打开,你让人数据库怎么和你沟通)

很简单,开始菜单->Microsoft SQL Server 2008->配置工具->SQL Server配置管理器->SQL Server网络配置->SQLEXPRESS的协议,将TCP/IP的状态从禁用改为启用,如下图:

 

然后右击TCP/IP点属性,将IP1和IPALL中的TCP端口改为1433,如下图(完美)

 

3、用MVC模式开发Java Web 连接数据库的方法,我目前知道三种方法(servlet中直接连接;web.xml中初始化共用参数,然后servlet中调用参数连接;建立连接池),但是我今天先只讲第一种,最直接简单的(毕竟今天比较忙~)

当确保你的数据库可以用、TCP/IP协议打开、端口号设置为1433了、准备了sqljdbc4.jar包以后,开始吧:

 

(1)在项目工程的src文件下创建servlet(这不要讲都会的吧?src-new-servlet  看下图设置,然后next-finish 即可)

 

然后在init方法函数下如下键入:

public void init() throws ServletException {
  try {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
    String url="jdbc:sqlserver://localhost:1433;databasename=mySales";
    String user="sa";
    String password="sql2008";
    conn=DriverManager.getConnection(url,user,password);

//在浏览器中输入http://localhost/MyWeb/servlet/JDBCServlet1  的时候,在myEclipse的控制台中看到 i am ssh ok 就连成了


    System.out.println("i am myweb ok");  
/*   stmt=conn.createStatement();    //这个是输出数据库中的数据代码,不用也无所谓
    stmt.executeUpdate("use mySales");
    String sql="select * from orders";
    rs=stmt.executeQuery(sql);
    while(rs.next()){
    System.out.println(rs.getInt("orderid"));
    }

*/
    //System.out.println(); //true
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
      System.out.println("myweb ClassNotFoundException");  //控制台输出这个就说明这里出错了
    } catch (SQLException e) {
      e.printStackTrace();
      System.out.println("myweb SQLException");
  }
}

 

注意消除一些引用方法的时候出现的错误,下图注意添加

 

 

很简单对不?但是你的控制台出现了一大堆错误对不?慢慢检查然后纠正吧少年们~

 

最后的最后分享个我的一大堆错误中的一个:找不到jar包(不记得当时控制台的错误代码是什么,但是大概翻译是找不到Driver,或者驱动不支持什么的) 

这个时候就要用到sqljdbc4.jar包了(因为我的jdk版本是1.7.0,当jdk版本貌似?高于1.6.0的时候sqljdbc.jar包已经不适用)<怎么看自己安装的jdk版本看下文>

将准备好的jar包复制到WEB INF 下的lib文件夹中即可!(修改了Java文件记得要重启tomcat服务器才能生效哦)

 

4、怎么查阅jdk版本?

开始->运行->然后输入cmd进入dos界面,输入java -version , 出现以下信息就可以看出你安装的jdk版本

 

 未完待续

 

 

posted @ 2016-10-09 10:43  HelenJ  阅读(932)  评论(0编辑  收藏  举报