1.前提条件

需要:

1>本机上装有SQL Sever数据库(2005、2008或者更高版本)

2>eclipse或者myeclipse开发环境

3>jar文件(名为sql_jdbc.jar或者sql_jdbc4.jar),jar文件内有JDBC相关类文件

4>dll文件(名为sqljdbc_auth.dll),dll动态链接库文件内有与windows系统相关的内容

---需要的dll文件和jar文件在底部下载链接中给出,至此前期准备工作完毕,可以开始DBA项目的开发了

2.编码

例程序源代码如下:

import java.sql.*;

public class testDB {

/**
* @param args
*/
public static void main(String[] args) {
String JDriver= "com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL数据库驱动 String connectDB= "jdbc:sqlserver://localhost;integratedSecurity=true;DatabaseName=myDB"; //数据源注意IP地址和端口号,此处使用默认端口1433,可以省略 //把myDB换为本机上已存在的数据库名即可 try
{
Class.forName(JDriver);//加载数据库驱动,返回给定字符串名的类
}catch(ClassNotFoundException e)
{
//e.printStackTrace();
System.out.println("加载数据库驱动失败");
System.exit(0);
}
System.out.println("数据库驱动加载成功");
try
{
String user="sa";//你自己创建的用户名字和密码
String password="mima"; //sa用户为SQL Sever里默认的用户,其密码为Administrator的密码
Connection con=
DriverManager.getConnection(connectDB,user,password);//连接数据库对象
System.out.println("连接数据库成功");
Statement stmt=con.createStatement();//创建SQL命令对象
//查
System.out.println("查询");
System.out.println("开始读取数据"); //返回SQL语句查询结果集(集合)
ResultSet rs=stmt.executeQuery("SELECT * FROM tb"); //循环输出每一条记录
while(rs.next())
{
System.out.println(rs.getString("ID")+"\t"+rs.getString("Name"));
//输出字段的值,getString()方法的参数为字段名(即表的列名) }
System.out.println("读取完毕");
//关闭连接
stmt.close();//关闭命令对象连接
con.close();//关闭数据库连接
}
catch(SQLException e)
{
e.printStackTrace();
//System.out.println("数据库连接错误");
System.exit(0);
}
}
}

3.为项目添加jar文件和dll文件

1>在eclipse或者myeclipse左边的项目栏里找到当前项目(本例中项目名为testDB),右键单击项目名,选择Build Path-->Configure Build Path-->Add External Library,找到jar文件,OK

2>打开 我的电脑 找到dll文件(需要使用对应版本的dll,32位/64位)直接拖动dll文件到项目名称(不是src而是项目名!)

4.运行项目,测试无误

5.可能遇到的异常

1>com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: Connection refused: connect.

异常分析:出现此异常是因为SQL Sever相关服务没有开启

解决方法:开始-->所有程序-->Microsoft SQL Sever-->配置工具-->SQL Sever配置管理器

右键单击SQL Sever(SQLEXPRESS)-->启动

右键单击SQL Sever(MSSQLSEVER)-->启动

2>WARNING: Failed to load the sqljdbc_auth.dll
com.microsoft.sqlserver.jdbc.SQLServerException: 没有为集成身份验证配置驱动程序。

问题分析:为了数据库安全使用集成方式连接数据库(连接字符串中的integratedSecurity=true;部分),缺少dll文件

解决方案:参见第3步《为项目添加jar文件和dll文件》,按照提到的方法添加dll文件

特别说明:网上有些sqljdbc_auth.dll文件是不能用的,若dll文件有问题,即便配置完全正确也会出现此错误!

3>加载数据库驱动失败

问题分析:缺少jar文件

解决方案:同上

6.特别说明:

上面演示的是混合模式的身份验证(需要用户名以及对应密码)

若只用单纯的Windows身份验证来登录数据库,只需要删掉DriverManager.getConnection(connectDB,user,password);方法的后两个参数即可

本机测试无误

关于Java连接SQL Sever数据库的更多相关文章

  1. java连接sql server数据库(使用用户sa)

    一.安装数据库相关软件 sql server management studio是管理sql server数据库的软件,想要使用需到微软官网下载安装sql server,然后再安装sql server ...

  2. R和python连接SQL sever 数据库操作

    在R的使用中,为了方便提取数据, 我们经常要进行数据库进行操作,接下来我们尝试使用R进行连接数据. 这里我们使用R中的RODBC进行操作, 首先,我们需要先配置ODBC资源管理器 通过任务管理器或者w ...

  3. java连接sql server数据库

    1.新建项目,导入包  sqljdbc4.jar或sqljdbc.jar(jdk1.7版本) 2.新建类文件ConnectionDB.java package hello; import java.s ...

  4. Java 连接 SQL Server 数据库

    //连接数据库 public Connection getConnection(){ //url为绝对路径 String url="jdbc:sqlserver://127.0.0.1:14 ...

  5. c#vs连接SQL sever数据库入门操作

    对于需要连接数据库的项目,可以参考的简单初级代码.实现打开数据库,读入数据功能 using System; using System.Collections.Generic; using System ...

  6. navicat连接SQL Sever数据库出现的问题

    1.navicat 连接sqlserver提示要安装 sql server native client 解决办法:在navicat安装目录下有个sqlncli_x64.msi文件,双击安装一直下一步就 ...

  7. Java 链接SQL Server 数据库

    1 //Java 连接 SQL Server数据库 2 public static final String DRIVERNAME="com.microsoft.sqlserver.jdbc ...

  8. jTDS Java连接SQL Server 2000数据库

    Java连接SQL Server 2000数据库时,有两种方法: (1)通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别 是mssqlserver.jar.msutil.ja ...

  9. Java使用JDBC连接SQL Server数据库|实现学生成绩信息系统

    Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括 ...

随机推荐

  1. java内存模型:简单理解

    1.Java内存模型(Java Memory Model,JMM) 2.JMM定义了线程和主内存之间的抽象关系: 线程之间的共享变量存储在主内存(main memory)中,每个线程都有一个私有的本地 ...

  2. centos6.6中修改yum源

    1.进入设置yum源的目录 > cd /etc/yum.repos.d 2.复制或重命名CentOS-Base.repo文件 > mv CentOS-Base.repo CentOS-Ba ...

  3. c语言使用指针实现模拟java/c# string.concat字符串串联方法

    #include <stdio.h> void _strcat(char *, const char *); int main(void) { char source[] ="V ...

  4. sql小技巧——关闭自动提交,防止误操作

    set IMPLICIT_TRANSACTIONS ON--关闭自动提交on 防止误操作,除非显式提交commit后,才会真正提交到数据库中,并且可以随时回滚操作.如下: set IMPLICIT_T ...

  5. makefile all

    all:udps udpc udps:udpserv.c    gcc -Wall -o udps udpserv.cudpc:udpclient.c    gcc -Wall -o udpc udp ...

  6. [Jmeter]Xpath获取元素某个属性的值,以及获取最后一个元素某个属性的值

    XPath获取元素某个属性的值 XPath query:  clients/attribute::total XPath获取最后一个元素某个属性的值 XPath query:   /clients/c ...

  7. CSV 文件

    CSV 文件 CSV(Comma Separated Values 逗号分隔值) 是一种文件格式(如.txt..doc等),也可理解 .csv 文件就是一种特殊格式的纯文本文件.即是一组字符序列,字符 ...

  8. powerdesigner 生成表备注

    第一步: 操作:Database-->Edit Current DBMS,进入下图页面, 然后分别将 Script-->Objects-->Table-->TableComme ...

  9. <td> 行高多层设置的问题

    在一个table中,设置了class,并且对应的样式设置了td的高度时,在其嵌套的table中的td高度不能设置大于父table的td的高度. 只有一种方法可以设置,如下: <table wid ...

  10. Devexpress VCL Build v2014 vol 14.2.4 发布

    What's New in 14.2.4 (VCL Product Line)   New Major Features in 14.2 What's New in VCL Products 14.2 ...