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版本

先到这里打住,感觉有很多问题可以将,以后慢慢说

时间: 2024-08-05 13:39:13

myEclipse6.5与数据库(SQL Server2008)连接遇到的问题你解决了吗?<用SSH框架的时候,用servlet+javabean+jsp的时候>个人经验总结的相关文章

[转] oracle 数据库 SQL plus 连接方法

http://hi.baidu.com/zzy382/item/a5b197f97a38e01ba7298832 之前电脑上安装了一个 Oracle  有一段时间没用,就把密码给忘了,按上面链接里的操作,重置密码成功,步骤如下: connect system/oracle以 system 用户 oracle 密码连接 在进入 sql plus 界面后输入 / as oraclesys 回车即以管理用户登录.然后读取 dba_users 表内容可以 alter user system identi

64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录

64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录 经过几天不停的网上找资料,实验,终于联通了. 环境:系统:win 2008 ,SqlServer2008 R2, 连接Oracle10g 在SqlServer2008 R2机器上需要安装Oracle客户端32位和64位两个,然后配置连接别名.设置注册表.详细情况见下面 1.错误1 ------------------------------------------------ 64位机器上建立OLE_DB链接报错 报

SQL Server2008连接不上local

网上说机器上同时安装了2个实例的话是不能用localhost 连接的: 原来服务器上有多个SQL实例的时候:名称连接的是服务器地址或服务器名称+实例的方式. 才知道,默认的单个实例的sql服务器连接的时候是不用实例名的.只能使用"机器名/实例名"的方式连接 eg:localhost\SQLEXPRESS(机器名/实例名)   或者是 .\SQLEXPRESS 1 通过以上用户名和windows身份登陆后,在安全性-登陆名内将sa用户启用,并修改密码 2 右键点击服务名,选择属性--安全

数据库 SQL server 连接查询 变量 选择 循环 延时语句

use lianxigo--1.供应商表 gong-- (gcode 供应商编号-- gname 供应商名称-- gtel 供应商电话)create table gong(gcode int primary key,gname varchar(20),gtel varchar(20),)goinsert into gong values(101,'淄博商贸','0533-123456')insert into gong values(102,'济南商贸','0531-234567')insert

JAVA:当数据库重启后连接池没有自动识别的解决办法

今天发现服务器上的一个服务程序出现问题,软件抛出:Connection reset by peer: socket write error 无法正常提供服务,找了一下原因,原来是因为数据库服务器重启,连接池里的数据库连接connection无法创建新的Statement,导致无法提供正常服务. 到百度搜索了一下,看到一篇文章与我遇到的问题类似,解决办法虽然看上去不是很好的办法,但也实用: 解决思路:在使用前创建一个Statement,如果抛出异常,说明connection已断开,重新连接. if

SQL Server2008不允许修改表结构解决办法

1.修改表结构遇到 2.点击取消 3.打开[工具]—[选项] 4.找到[Desiginers]标签,在右边找到“阻止保存要求重现创建表的更改”,取消勾选.

(待解决):servlet+javaBean+jsp 读取数据库列表 页面无结果

文件如下: DepartBean.java: package beans; public class DepartBean { private int did; private String dname; private String dremark; public int getDid() { return did; } public void setDid(int did) { this.did = did; } public String getDname() { return dname

SQL Server 连接字符串和身份验证 学习

SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1;PropertyName2=Value2;PropertyName3=Value3;.....同样,连接字符串必须包含SQL Server实例名称:          Data Source=ServerName;          使用本地的SQL Server(localhost),如果想要使用

记录SQL Server2008日志文件损坏的恢复过程

记录SQL Server2008日志文件损坏的恢复过程: 环境:系统Windows Server2003 数据库SQL Server2008 故障原因:通过mstsc链接同一服务器时,用户界面不一致.决定重启服务器,未正确关闭应用程序的情况下(程序在访问数据库),导致数据库日志文件损坏,自然也就无法访问mdf文件!(都是微软自家的产品,重启服务器为什么不能检查数据库的状态,将数据库设置在安全状态后在重启呢??所以,要养成良好的习惯.关闭现有数据库链接,再重启服务器) 故障表现:无法访问数据文件,