用JDBC直连方式访问SQL Server 2005详解


用JDBC直连方式访问SQL Server 2005详解
   


1.安装JDK,配置其环境变量:(笔者所用版本为1.6版)   


(1)从官方网http://java.sun.com/jdk下载安装文件。 

(2)安装下载下来的安装包,按照提示安装成功。 

(3)配置JDK的环境变量: 

   此处假设JDK安装路径为:C:\Program Files\Java\jdk1.6.0_12     

A.我的电脑-->属性-->高级-->环境变量     

B.配置用户变量: 

     a.新建 JAVA_HOME 

          C:\Program Files\Java\jdk1.6.0_12 (JDK的安装路径)      

     b.新建 PATH 

          %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin      

     c.新建 CLASSPATH 

           .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\lib\jconsole.jar;  


环境变量配置的理解: 
  1. PATH环境变量。作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。 
  2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。 

    3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。  



2.安装tomcat,配置其环境变量: 


(1)从官方网http://tomcat.apache.org下载安装文件。 

(2)安装下载下来的安装包,按照提示安装成功。 

(3)配置Tomcat环境变量: 

   此处假设Tomcat安装路径为:D:\Tomcat 6.0  

A.我的电脑-->属性-->高级-->环境变量     

B.配置用户变量: 

        a.新建 CATALINA_HOME     D:\Tomcat 6.0   (Tomcat安装路径) 
        b.在 CLASSPATH 原来的值后面加上: 
    %CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib;    (该路径下包含了Servlet相关的类)   



3.安装JDBC驱动,配置其环境变量: 


(1)从官方网下载安装文件。 

(2)安装包是一个压缩文件,将其解压到路径C:\Program Files\Microsoft SQL Server 2005 JDBC Drive 

(3)在c盘根目录下新建文件夹classFile 

(4)在C:\Program Files\Microsoft SQL Server 2005 JDBC Drive\sqljdbc_1.2\chs路径下有一个sqljdbc.jar文件,将其拷贝到C:\classFile文件夹下面。(这样做是为了防止路径名太长或者不规范导致环境变量不成功) 

(5)配置JDBC环境变量: 

 A.我的电脑-->属性-->高级-->环境变量     

 B.配置用户变量: 

  在 CLASSPATH 原来的值后面加上:    

 C:\classFile\sqljdbc.jar 

注意:sqljdbc.jar就是实现JDBC相关操作的类。所以要将其加到环境变量中去。  



4.安装SQL Server 2005,并创建数据库: 


(1)在网上下载SQL Server 2005企业版(注意在安装VS2005的时候会装上SQL Server 2005 Express版,这个版本由于是免费版,缺少一些组件。所以最好安装企业版) (2)按照提示安装成功。(注意:在安装步骤  “服务帐户”  里面,选择 “使用内置系统帐户(Y)”这一选项;在安装步骤 “身份验证模式”里面选择 “混合模式”,并在下面的密码栏中输入123456。其他默认即可) 

(3)创建数据库: 

 A.打开:开始->Microsoft SQL Server 2005->SQL Server Management Studio  

 B.点击 文件->连接对象资源管理器 

 C.弹出“连接到服务器”对话框,在“身份验证”一栏选择“SQL Server 身份验证”;在登陆名中输入:sa(这是默认用户) 密码中输入:123456(安装的时候设置的密码)。然后点击连接。 
 D.连接成功后,点击左上方的“新建查询”,在弹出的窗口中输入一下SQL语句,创建数据库。 
      create database bookstore 

 E.选中这条语句,点击工具栏上的“执行”按钮。   



5.编写用JDBC访问数据库的Servlet代码: 


(1)在Tomcat的安装目录下打开webapps文件夹(D:\Tomcat 6.0\webapps\),在其中新建文件夹,命名为DB。 
(2)在其中新建文件夹如下:    D:\Tomcat 6.0\webapps\DB\src 
   D:\Tomcat 6.0\webapps\DB\WEB-INF 
   D:\Tomcat 6.0\webapps\DB\WEB-INF\classes    D:\Tomcat 6.0\webapps\DB\WEB-INF\lib 
(3)在用记事本在D:\Tomcat 6.0\webapps\DB\src下编写java源代码 ,保存为CreateDBServlet.java 代码如下: 

import javax.servlet.*;
import java.io.*; 
import javax.servlet.http.*;
import java.sql.*; 
public class CreateDBServlet extends HttpServlet { public void init() throws ServletException {  try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch(ClassNotFoundException ce) { throw new UnavailableException("加载数据库驱动失败!");  }    }public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException { Connection conn=null;Statement stmt=null;try         {             conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=bookstore","sa","123456"); stmt=conn.createStatement(); stmt.executeUpdate("use bookstore"); stmt.executeUpdate("create table bookinfo(id INT not null primary key,title VARCHAR(50) not null,author VARCHAR(50) not null,bookconcern VARCHAR(100) not null,publish_date DATETIME not null,price FLOAT not null,amount SMALLINT,remark VARCHAR(200))"); stmt.addBatch("insert into bookinfo values(1,'Java从入门到精通','张三','张三出版社','2004-6-1',34.00,35,null)"); stmt.addBatch("insert into bookinfo values(2,'JSP深入编程','李四','李四出版社','2004-10-1',56.00,20,null)"); stmt.addBatch("insert into bookinfo values(3,'J2EE高级编程','王五','王五出版社','2005-3-1',78.00,10,null)"); stmt.executeBatch();                           PrintWriter out=resp.getWriter();out.println("success!");out.close();} catch(SQLException se) { se.printStackTrace();} finally { if(stmt!=null){ try { stmt.close();} catch(SQLException se){ se.printStackTrace();} stmt=null;} if(conn!=null){ try{ conn.close();} catch(SQLException se){ se.printStackTrace();} conn=null;}}}} 



(4)将CreateDBServlet.java复制一份到d盘根目录下。 
(5)编译源文件:开始->运行 输入 cmd ,在字符提示符下输入:           javac  D:\CreateDBServlet.java 
     编译成功在同一目录下生成CreateDBServlet.class 
(6)将CreateDBServlet.class拷贝到D:\Tomcat 6.0\webapps\DB\WEB-INF\classes 中 
(7)部署程序:在D:\Tomcat 6.0\webapps\DB\WEB-INF目录下用记事本新建文件,保存为web.xml 代码如下: 

 
<?xml version="1.0" encoding="gb2312"?> 
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"     version="2.4">      
    <servlet> 
        <servlet-name>CreateDB</servlet-name> 
        <servlet-class>CreateDBServlet</servlet-class>     </servlet> 
    <servlet-mapping> 
        <servlet-name>CreateDB</servlet-name>         <url-pattern>/cdb</url-pattern>     </servlet-mapping> </web-app>  

(8)将JDBC驱动文件sqljdbc.jar拷贝到D:\Tomcat 6.0\webapps\DB\WEB-INF\lib(切记)  



6.测试程序: 


(1)打开tomcat服务器,在浏览器中输入:http://localhost:8000/DB/cdb 显示 success! (2)打开: 
 A.打开:开始->Microsoft SQL Server 2005->SQL Server Management Studio  B.点击 文件->连接对象资源管理器 
 C.弹出“连接到服务器”对话框,在“身份验证”一栏选择“SQL Server 身份验证”;在登陆名中输入:sa(这是默认用户) 密码中输入:123456(安装的时候设置的密码)。然后点击连接。 
 D.连接成功后,点击左上方的“新建查询”,在弹出的窗口中输入一下SQL语句,创建数据库。 
      use bookstore 
      select * from bookinfo 
 E.选中这两条语句,点击工具栏上的“执行”按钮。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

string类有可以调换方向的函数吗_深度剖析C++中的inline函数

点蓝色字关注“CurryCoder”微信公众号&#xff1a;CurryCoder的程序人生 怕什么真理无穷&#xff0c;进一寸有一寸的欢喜1.inline函数的爱恨两难内联函数比宏优点好很多&#xff0c;详细原因请参见尽量以const、enum、inline替换#define 。调用内联函数不需要承受函数调用所导…

javafx基础教程_JavaFX教程–基础

javafx基础教程JavaFX似乎正在RIA领域获得发展。 有了正确的工具和开发支持&#xff0c;它肯定会成为下一个最佳技术“物”的代价。 我没有在这里写任何JavaFX评论&#xff0c;因为有很多技术评论可能对它进行了广泛的评论&#xff0c;但是&#xff0c;我将编写一个简单的教程&…

prepareStatement与Statement的区别

prepareStatement与Statement的区别 1:创建时的区别&#xff1a; Statement stmcon.createStatement(); PreparedStatement pstmcon.prepareStatement(sql); 执行的时候: stm.execute(sql); pstm.execute(); 2: pstm一旦绑定了SQL,此pstm就不能执行其他的S…

什么是Spring Boot以及为什么它是用于创建微服务的首选框架

为什么要使用Spring Boot创建微服务&#xff1f; Spring Boot是Java领域众所周知的首选框架&#xff0c;用于创建Micro Services。 使用Spring引导框架&#xff0c;可以非常轻松地创建Java应用程序。 现在&#xff0c;我们将看到Spring启动框架的一些功能&#xff0c;这使其成为…

嵌入式开发有年龄限制吗_什么?!考教资有年龄限制了?2020年我还能考吗?...

近几年教师资格证越来越火爆越来越多的人都想报考&#xff0c;却又担心年龄问题&#xff0c;那么考教师资格证有年龄限制吗&#xff1f;下面小编就给大家解答一下这个问题&#xff1a;报考教师资格证是没有年龄限制的&#xff0c;只有学历限制。报考幼师教师资格证的考生必须是…

Python3的bytes/str之别

Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode&#xff0c;由str类型表示&#xff0c;二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和bytes&#xff0c;正是这使得两者的区分特别清晰。你不能拼接字符串和字节…

jframe透明_使JFrame透明

jframe透明首先创建一个带有滑块的框架&#xff0c;该滑块将用于设置透明度量。 import javax.swing.JFrame; import javax.swing.JSlider;public class TransparentFrame extends JFrame {public TransparentFrame() {setTitle(Transparent Frame);setSize(400,400);setDefaul…

MyEclipse下Tomcat启动变慢的解决方法

项目忽然使用debug启动有时候会突然变得非常慢。不但启动慢&#xff0c;启动之后连打开项目标页面也很慢&#xff0c;是日常平凡的4&#xff0c;5倍。可以有下面的几种解决方法&#xff1a; 1、由于Tomcat是服务器,部署好的工程就会一直驻留到服务器里,每次启动都会把部署到服务…

Python关于Threading暂停恢复解决办法

我们都知道python中可以是threading模块实现多线程, 但是模块并没有提供暂停, 恢复和停止线程的方法, 一旦线程对象调用start方法后, 只能等到对应的方法函数运行完毕. 也就是说一旦start后, 线程就属于失控状态. 不过, 我们可以自己实现这些. 一般的方法就是循环地判断一个标志…

stm32l4 外部中断按键会卡死_STM32学习之路-按键中断测试(外部中断)

void RCC_Config(void){SystemInit(); //系统时钟初始化RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB| RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD| RCC_APB2Periph_GPIOE | RCC_APB2Periph_G…

NetBeans Java EE技巧9:从数据库创建JSF应用程序

您需要非常快速地创建数据库前端吗&#xff1f; NetBeans IDE允许人们以极少的编码就非常快速地为一组数据库表开发JSF应用程序前端。 现在&#xff0c;本教程既是老歌&#xff0c;又是老歌……对于那些不了解它的人来说&#xff0c;值得再次提及。 首先&#xff0c;创建您的应…

[模板]树链剖分

用途 我想把一个本来是线性的东西放到树上做&#xff0c;维护路径或者是子树的各种性质&#xff0c;那就用树剖呗 它可以套线段树、树状数组、ST表&#xff08;以及其他我不知道的&#xff09; 做法 我们考虑把树分成一条条链&#xff0c;然后对每条链维护我们的数据结构&#…

sql server 2005单独添加mdf文件

我把原来的数据库分离后&#xff0c;直接把日志文件给干掉了。原来在SQL 2000里经常这么干&#xff0c;只用一个mdf就附加了。没想到sql2005居然不行。我试验了一圈 终于找到一个成功的方法。转载&#xff0c;供后来者参考。SQL2005 如何在没有日志文件的情况下如何恢复MDF数据…

低压抽屉柜常见故障处理方法_低压配电设备常见故障分析,处理办法介绍

低压配电线路作为配电网络中主要的一部分&#xff0c;在其运行的过程中直接影响着人民的生命财产安全。配电线路是电力输送的终端&#xff0c;对于提高电力质量有着至关重要的作用。但由于配电线路走径的复杂性&#xff0c;人为因素和设备因素&#xff0c;都会给低压配电设备造…

关于C语言中的'\?'和%%

关于C语言中的\?和%% 一、引语 我们知道C/C中有四个非字母的字符需要用转义字符来表示&#xff1a;单引号 , 双引号 " , 反斜杆 \ 和问号 ? 显然这是因为它们本身有特殊的含义&#xff0c;所以要用转义字符来表示他们自己&#xff0c;单引号用来表示单个字符&#xff0…

mockito 使用_用Mockito回答

mockito 使用在编写单元测试时 &#xff0c;必须记住不要依赖于外部组件。 为了避免这种情况&#xff0c;我们使用了模拟框架&#xff0c;对我而言&#xff0c;最容易使用的是Mockito 。 在本文中&#xff0c;我们将看到在Mockito中使用的一种“高级”技术&#xff0c;可以使用…

jQuery常用操作

jQuery jQuery是一个轻量级的JS库&#xff0c;是一个被封装好的JS文件&#xff0c;提供了更为简便的元素操作方式&#xff0c;jQuery封装了DOM。 使用jQuery 引入jQuery文件 <scrtipt srcjquery-1.11.3.js> </script> 注意&#xff1a;引入必须放在其他jQuery操作之…

python tab和空格混用_我的 Python 编码规范

python 文件的组成为了便于描述&#xff0c;先上一个 demo#!/usr/bin/env python# -*- coding: utf-8 -*-"""通常这里是关于本文档的说明(docstring)&#xff0c;须以半角的句号、 问号或惊叹号结尾!本行之前应当空一行&#xff0c;继续完成关于本文档的说明如果…