JDBC简介

  • JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成。
  • 组成JDBC的2个包:  java.sql  javax.sql
  • 以上2个包已经包含在J2SE中,所以不用导入,开发这只需要导入JDBC的实现类即数据库驱动包。
  • 开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)。

下面请一字一句地看,一遍就设置成功,比你设置几十遍失败,费时会少得多。

首先,在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份验证方式。如果在安装时选用了后者,则重新设置如下:

http://blog.163.com/jackie_howe/blog/static/19949134720122261121214/

当你保证SQL Server 2012是采用SQL Server身份验证方式后,开始如下配置:

一、因为SQL Server 2012装好后,默认协议是没有开启的,所以要打开SQL Server配置管理器中开启:

1、安装好SQL Server 2012后,运行 开始 → 所有程序 → Microsoft SQL Server 2012 → 配置工具 →SQL Server配置管理器,如下图1所示:


图1

2、打开的窗口如下图所示。在左边栏找到 SQL Server网络配置选项,点开它的小箭头,会看到“【你的数据库名】的协议” (图中是ERIC2012的协议),选中它,看右边栏。如下图2所示:

图2

(1)如果Named Pipes 未启用,则右键→启用

(2)右键单击 TCP/IP,选择 启用

(3)双击TCP/IP(右键→属性),在弹出的窗口中选择 “IP地址” 选项卡,将IP1和IP10的【IP地址】设为127.0.0.1,并将所有【IPx】的【已启用】设为是。接着,拖动下拉条到最下方,将 IPAll 中的【TCP端口】设成 【1433】,其余不变。如下图3和图4所示:

图3

图4

3、重新启动计算机。

4、接下来使用telnet命令测试1433端口是否打开。首先要保证telnet服务开启。开启win7 telnet的方法在这里:

http://blog.163.com/jackie_howe/blog/static/199491347201251723939691/

5、完成上一步后。开始菜单 → 运行cmd → 输入:telnet 127.0.0.1 1433,(注意telnet与127之间有空格,1与1433之间有空格)。如下图:

图5

6、若提示“不能打开到主机的连接,在端口 1433: 连接失败”,则说明1433端口没有打开,需要重新进行以上配置。若连接成功,显示如图6所示:

图6

二、环境变量CLASSPATH配置:

1、下载Microsoft JDBC Driver 4.0 for SQL Server

在这里下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=11774

4.0版本支持的 SQL Server有:

Microsoft®SQL Server® 2012

Microsoft®SQL Server® 2008 R2

Microsoft®SQL Server® 2008

Microsoft®SQL Server® 2005

Microsoft®SQL Azure

下载sqljdbc_4.0.2206.100_chs.tar.gz(2.2M),解压文件,得到sqljdbc.jar和sqljdbc4.jar。如果你使用的是jre1.7版本,则忽略sqljdbc.jar(因为它用不了,而且如果和sqljdbc4.jar一起用会出错),只留下sqljdbc4.jar。

以下设置均针对jre1.7版本(1.7以下应该也适用):

在D盘新建一个文件夹,命名为sqljdbc4,将sqljdbc4.jar复制一个进去。

图7

2、右击 我的电脑 → 属性 → 高级系统设置(高级) → 环境变量,在系统变量中双击CLASSPATH变量(或选中CLASSPATH后 → 编辑),在最后面追加 “;D:\sqljdbc4 \sqljdbc4.jar” (注意最前面有个 ; )若不存在CLASSPATH,就新建CLASSPATH变量,并且将其值设为“D:\sqljdbc4 \sqljdbc4.jar”。如图8所示:

图8

3、连续点击 确定 以退出环境变量配置。

4、接下来的工作非常重要(因为没做我纠结了几天没成功)!!

有几个地方需要注意:

(1)我们需要将sqljdbc4.jar类库文件拷贝到D:\Program Files\Java\jdk1.7.0\jre\lib\ext目录下。(看你安装在哪个盘,如果是C盘,则最前面的D改为C,下同)

(2)我们需要将sqljdbc4.jar类库文件拷贝到D:\Program Files\Java\jre7\lib\ext目录下

最好是,只要是jre文件夹,都复制一个sqljdbc4.jar到jre7\lib\ext里去!!

(3)如果是使用Tomcat做服务器(我使用的是Tomcat7),那么我们需要将sqljdbc4.jar类库文件拷贝到C:\apache-tomcat-7.0.11\lib目录下。

(4)如果是使用Tomcat做服务器,那么我们需要将sqljdbc4.jar类库文件拷贝到D:\apache-tomcat-7.0.11\webapps\gaofei\WEB-INF\lib目录下(gaofei目录是我的应用,这个路径相信你会看明白)

注意,只有sqljdbc4.jar !!如果把sqljdbc.jar和sqljdbc4.jar都拷在一起的话,这样就算你全都做对了,也会持续出现有“此驱动程序不支持JRE1.7,请使用支持JDBC4.0的sqljdbc4.jar的类库”的问题。因为jdk默认地选择了sqljdbc.jar(前面我已经提到,只留下sqljdbc4.jar)。

三、使用Eclipse测试连接SQL Server 2012数据库:

1、打开SQL Server 2012,在其中新建数据库 Test,然后退出SQL Server 2012。

2、运行Eclipse,新建一个JavaProject 名为 Test。

3、右单击src,依次选择 Build Path → Configure Build Path,在打开的窗口的右边选择 Libraries标签,然后单击 Add External JARs,找到 sqljdbc4.jar 文件并打开,然后单击 OK 完成构建路径的配置。如图9(我是汉化版的):

图9

4、在Test中新建包pkg,在pkg中新建一个类Main,在其中输入代码如下:

packagepkg;

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("连接失败");

  }    

 }

}

温馨提示:如果要对数据库中的某个表进行操作,需要像这样子做:String sql = "SELECT*  FROM [数据库名].[dbo].[表名] where xxx "; 例如String sql = "SELECT*  FROM [metro].[dbo].[4] wherexxx" 。注意,中括号是必要的,不能去掉。

5、点击右键,选择run as——>Java Application, 控制台出现下图则连接成功!

原文地址:http://blog.csdn.net/stewen_001/article/details/19553173/

JDBC基础与连接sql2012的更多相关文章

  1. jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用

    一.连接池的概念和使用 在实际应用开发中,特别是在WEB应用系统中,如果JSP.Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接.打开数据库.存取数 ...

  2. jdbc基础 (二) 通过properties配置文件连接数据库

    csdn博文地址:jdbc基础 (二) 通过properties配置文件连接数据库 上一篇描述了对mysql数据库的简单操作,下面来看一下开发中应该如何灵活应用. 因为jdbc对数据库的驱动加载.连接 ...

  3. JDBC基础教程

    本文实例讲述了JDBC基础知识与技巧.分享给大家供大家参考.具体分析如下: 1.什么是JDBC? 通俗来讲JDBC技术就是通过java程序来发送SQL语句到数据库,数据库收到SQL语句后执行,把结果返 ...

  4. Java基础-DBCP连接池(BasicDataSource类)详解

    Java基础-DBCP连接池(BasicDataSource类)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程 ...

  5. Unit01: JDBC原理 、 JDBC基础编程

    Unit01: JDBC原理 . JDBC基础编程 这个文件里面有两块内容: 1.用比较麻烦的方式连接数据库,test1(),test4() 2.创建DBTool,测试DBTool连接数据库 ,tes ...

  6. Java应用程序连接数据库--JDBC基础

    Java应用程序连接数据库--JDBC基础   Java应用程序连接数据库–JDBC基础 <!-- MySQL驱动,连接数据库用,由数据库厂商提供 --> <dependency&g ...

  7. JDBC基础:JDBC快速入门,JDBC工具类,SQL注入攻击,JDBC管理事务

    JDBC基础 重难点梳理 一.JDBC快速入门 1.jdbc的概念 JDBC(Java DataBase Connectivity:java数据库连接)是一种用于执行SQL语句的Java API,可以 ...

  8. Java JDBC Thin Driver 连接 Oracle 三种方法说明(转载)

    一.JDBC 连接Oracle 说明 JDBC 的应用连接Oracle 遇到问题,错误如下: ORA-12505,TNS:listener does not currently know of SID ...

  9. jdbc事务处理和连接池

    JDBC: * JDBC概念:Java DataBase Connectivity(Java数据库连接) SUN公司提供的一组连接数据库API. * JDBC开发步骤: * 1.注册驱动. * 2.获 ...

随机推荐

  1. Codeforces Round #352 (Div. 2)

    模拟 A - Summer Camp #include <bits/stdc++.h> int a[1100]; int b[100]; int len; void init() { in ...

  2. zorka源码解读之Instrument实现原理

    主要用到三方面技术: beanshell来实现可扩展:告诉zorkaAgent插桩的具体需求,包括插桩的方法和值.插桩的时机.插桩追踪记录方式等. Instrument来通过代理的方式访问JVM,实现 ...

  3. python 列表转换成字符串

    用字符串的 join 方法: li = ['a', 'b', 'c', 'd'] s = ''.join(li) print(s) abcd 用字符串的占位符替换 li = ['a', 'b', 'c ...

  4. BZOJ4712 : 洪水

    首先不难列出DP方程: $dp[x]=\min(w[x],h[x])$ $h[x]=\sum dp[son]$ 当$w[x]$增加时,显然$dp[x]$不会减少,那么我们求出$dp[x]$的增量$de ...

  5. [Python学习] Linux环境下的Python配置,必备库的安装配置

    1.默认Python安装情况 一般情况,Linux会预装Python的,版本较低,比如Ubuntu15的系统一般预装的是Python2.7.10. 使用命令:which python可以查看当前的py ...

  6. NOI 题库 6266

    6266  取石子游戏 描述 有两堆石子,两个人轮流去取.每次取的时候,只能从较多的那堆石子里取,并且取的数目必须是较少的那堆石子数目的整数倍.最后谁能够把一堆石子取空谁就算赢. 比如初始的时候两堆石 ...

  7. HDU 3306 Another kind of Fibonacci(快速幂矩阵)

    题目链接 构造矩阵 看的题解,剩下的就是模板了,好久没写过了,注意取余. #include <cstring> #include <cstdio> #include <s ...

  8. 自己封装一个Log模块

    Unity自己有log系统,为什么要自己封装一个 1.不好用,只能在pc上记录log文件,移动平台是没有的 2.在开发时期的log,不想在正式版里面出现.没有一个统一的开关来控制是不是要显示log,要 ...

  9. SPX Instant Screen Capture

    Today I will recommend a NICE screen capture tool, which name is SPA Instant Screen Capture. http:// ...

  10. Linux crontab 命令格式与详细例子

    基本格式 :* * * * * command分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示第2列表示小时1-23(0表示0点)第3列表示日期1-31第4列表示月份1-1 ...