设为首页 收藏本站
查看: 751|回复: 0

[经验分享] 关于JSP连接SQL Server 2000数据库的问题

[复制链接]
累计签到:2 天
连续签到:2 天
发表于 2018-10-12 10:32:19 | 显示全部楼层 |阅读模式
  数据库操作现在是项目开发的根本,学习Java首先应该学会怎么样连接数据库,用Java连接数据库可不像用Delphi这类工具那样设几个属性就OK,说 简单也简单,说复杂,其实也挺复杂的,而且很麻烦,如果是初学,根本不能保证第一次就连接成功,下面以SQL Server 2000为例,说说Java连接数据库的基本方法,也记录一下心得。
  1、下载SQL Server 2000 driver for JDBC
  SQL Server 2000 Driver For JDBC Downloads
  该驱动截止目前有四个版本,建议下载最新的SP3版。
  该驱动安装成功后,请将安装目录下的lib目录下的三个.jar文件加到CLASSPATH中;如果你使用的是JBuilder或Eclipse,将这三个文件根据IDE的提示加到工程中也可。
  2、升级你的SQL Server 2000,为其打上最新的补丁。
  这一步可能不是必需的,因操作系统环境而定,在不打补丁的情况,有时可以正常连接,有时却不能,所以建议还是安装最新的SQL Server 2000补丁(SP4)和JDBC驱动(SP3)。
  如果你的程序在运行时提示:Error establishing socket,一般情况下,打上SQL Server 2000的补丁就可解决。
  3、驱动的加载方法
  在建立连接之前,要先加载SQL Server 2000 JDBC的驱动,代码形式如下:

  >  在此注意,forName方法的参数字符串必须完全相同于以上内容,大小写是区分的,其实这个串就是驱动类的完整名称:包名+类名。
  4、获得一个连接
  在操作数据库之前,要先获得与数据库的一个连接,使用如下代码格式:
  DriverManager.getConnection(连接字符串, 登录用户名, 登录密码);
  例:
  DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs", "sa", "");
  在此处关键的是连接字符串的内容,localhost部分即服务器的名字,可以更改;1433部分为SQL Server使用的端口号,根据实际情况修改即可;DatabaseName即为要连接的数据库的名字,在此注意DatabaseName之前的是分号,而不是冒号。
  5、代码实例
  // 导入Java SQL包,连接数据库必需;
  import java.sql.*;

  public>  public static void main(String[] args) {
  String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
  String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs";
  String userName = "sa";
  String userPwd = "";
  Connection dbConn
  try {

  >  dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
  System.out.println("Connection Successful!");
  }
  Catch (Exception e) {
  e.printStackTrace();
  }
  }
  }
  6、可能出现的问题
  如果以上的代码运行后,输出"Connection Successful!",那就代表一切正常,连接数据库成功,你可以进行Statement、ResultSet的操作了;反之的话,一定是出现了相应的异常。
  如果提示错误"Error establishing socket",请根据之前的说明安装相应的SQL Server 2000补丁即可。

  如果提示"ClassNotFoundException",那一定是>  7、将三个.jar文件复制到tomcat的/lib目录中
  写一个简单的用来测试连接SQL Server 2000的JSP代码
  
  
  

    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
  //pubs 为你的数据库的
  String user="sa";
  String password="admin";
  Connection conn= DriverManager.getConnection(url,user,password);
  Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
  String sql="select job_id,job_desc from jobs";
  ResultSet rs=stmt.executeQuery(sql);
  while(rs.next()) { %>
  您的第一个字段内容为:
  您的第二个字段内容为:
  
  
  
  
  
  将上面的JSP代码保存为sql_test.jsp,放在/Root目录下。
  在地址中输入:http://localhost:8080/sql_test.jsp,如果全部配置成功的话,将显示如下:
  您的第一个字段内容为:1
  您的第二个字段内容为:New Hire - Job not specified
  您的第一个字段内容为:2
  您的第二个字段内容为:Chief Executive Officer
  您的第一个字段内容为:3
  您的第二个字段内容为:Business Operations Manager
  您的第一个字段内容为:4
  您的第二个字段内容为:Chief Financial Officier
  您的第一个字段内容为:5
  您的第二个字段内容为:Publisher
  您的第一个字段内容为:6
  您的第二个字段内容为:Managing Editor
  您的第一个字段内容为:7
  您的第二个字段内容为:Marketing Manager
  您的第一个字段内容为:8

  您的第二个字段内容为:Public>  您的第一个字段内容为:9
  您的第二个字段内容为:Acquisitions Manager
  您的第一个字段内容为:10
  您的第二个字段内容为:Productions Manager
  您的第一个字段内容为:11
  您的第二个字段内容为:Operations Manager
  您的第一个字段内容为:12
  您的第二个字段内容为:Editor
  您的第一个字段内容为:13
  您的第二个字段内容为:Sales Representative
  您的第一个字段内容为:14
  您的第二个字段内容为:Designer


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-620669-1-1.html 上篇帖子: 在.NET中根据SQL Server系统表获取数据库管理信息 下篇帖子: SQL Server -- Job
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表