问题杂谈:使用JDBC连接SQL Server数据库

在刚刚接触使用JDBC连接数据库时,总会碰到很多问题,让人无所适从。所以,笔者以SQL Server

为例,详细讲解如何使用JDBC连接SQL Server。下载请点击SQL Server 2017SQL Server 2016

Tomcat 9.0.1

在开始之前,请先正确安装SQL Server和Tomcat。(笔者是以SQL Server 2017和Tomcat9.0.1进行演示)

准备:在正确安装SQL server和Tomcat之后,打开cmd,运行指令“telnet 127.0.0.1 1433”,如果出现

“telnet不是内部指令或程序......”说明你没有打开telnet服务,那么请参考笔者另一篇博客“打开telnet服务问题”

如果正确打开telnet服务,但是运行上述telnet指令,出现“无法连接127.0.0.1,端口1433......”,则说明要对SQL

Server进行配置,接下来就是详细的配置过程。

第一步:使用键盘快捷键“window+x”选择“计算机管理”或者直接使用SQL Server配置管理器,如图:


第二步:打开的窗口如下图所示。在左边栏找到 SQL Server网络配置选项,点开它的小箭头,会

看到“【你的数据库名】的协议” ,选中它,看右边栏。如图:


第三步:如果Named Pipes 未启用,则右键→启用,右键单击 TCP/IP,选择 启用,双击TCP/IP

(右键→属性),在弹出的窗口中选择 “IP地址” 选项卡,将IP1和IP10的【IP地址】设为127.0.0.1,

并将所有【IPx】的【已启用】设为是。接着,拖动下拉条到最下方,将 IPAll 中的【TCP端口】设

 【1433】,其余不变。如图:



第四步:重新启动计算机,接下来使用telnet命令“telnet 127.0.0.1 1433”测试1433端口是否打开。

第五步:环境变量CLASSPATH配置:下载JDBC,然后在D盘新建一个文件夹,命名为sqljdbc4,将

sqljdbc42.jar复制一个进去。

第六步:右击 我的电脑  属性  高级系统设置(高级)  环境变量,在系统变量中双击

CLASSPATH变量(或选中CLASSPATH后  编辑),在最后面追加 “;D:\sqljdbc42\sqljdbc42.jar 

(注意最前面有个 ; )若不存在CLASSPATH,就新建CLASSPATH变量,并且将其值设

为“D:\sqljdbc42\sqljdbc42.jar”。连续点击 确定 以退出环境变量配置。


第七步:(非常重要)我们需要将sqljdbc4.jar类库文件拷贝到D:\Java Tools\jdk1.7.0\jre\lib\ext目

录下。(看你安装在哪个盘,如果是C盘,则最前面的D改为C,下同)。

我们需要将sqljdbc42.jar类库文件拷贝到D:\Program Files\Java\jre7\lib\ext目录下最好是,只要

是jre文件夹,都复制一个sqljdbc42.jar到jre7\lib\ext里去!!

如果是使用Tomcat做服务器(我使用的是Tomcat7),那么我们需要将sqljdbc42.jar类库文件

拷贝到D:\Tomcat_9.0.1\lib目录下。

第八步:打开SQL Server 2017,在其中新建数据库 Test,然后退出SQL Server2017

运行Eclipse,新建一个JavaProject 名为 Test右单击src,依次选择 Build Path  Configure Build Path,在

打开的窗口的右边选择 Libraries标签,然后单击 Add External JARs,找到 sqljdbc42.jar 文件并打

开,然后单击 OK 完成构建路径的配置。如图:


最后:输入代码测试

importjava.sql.*;
 
publicclass Main {
 publicstatic void main(String [] args)
 {
  StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
  StringdbURL="jdbc:sqlserver://localhost:1433;DatabaseName=你的数据库名";
  String userName="填写你的用户名,我的是sa";
  String userPwd="填写你的密码";
  try
  {
   Class.forName(driverName);
   ConnectiondbConn=DriverManager.getConnection(dbURL,userName,userPwd);
    System.out.println("连接数据库成功");
  }
  catch(Exception e)
  {
   e.printStackTrace();
   System.out.print("连接失败");
  }    
 }
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章