zoukankan      html  css  js  c++  java
  • 关于Java连接SQL Sever数据库

    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")+"	"+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);方法的后两个参数即可

    本机测试无误

  • 相关阅读:
    视频流媒体服务器网络硬盘录像机NVR接入/解码/转发能力解析
    流媒体服务器安装失败/程序启动错误等问题解决方案
    监控摄像头如何用作网络直播?
    数据库之单表查询
    数据库之表与表之间的关系
    数据库之完整性约束
    数据库之数据类型
    数据库之增删改查操作
    数据库之基本操作和存储引擎
    数据库之数据库基础及安装
  • 原文地址:https://www.cnblogs.com/ayqy/p/3583372.html
Copyright © 2011-2022 走看看