数据库登录身份验证方式有两种

 

 

其中服务器名称即为安装SQLServer2008的电脑,充当数据库服务器,在笔者这里就是自己的电脑名称。

身份验证方式有两种:windows身份验证和SQLServer身份验证。对于选用windows身份验证,登录时不需要输入密码,登录者是这台电脑的用户;SQLServer身份验证登录需要输入用户名和密码,而sa用户是数据库服务器默认的sqlserver身份登陆者。服务器角色sysadmin是具有最大权限的角色,该角色对任何用户创建的数据库都可以浏览和修改。

  1. //创建windows身份验证登录的用户
  2. create login [DESKTOP-T2FR3H7\Administrator] from windows;

下面讨论如何在eclipse中通过jdbc连接数据库,分别采用windows身份和sqlserver身份。

1 正确导入sqljdbc.jar包到项目工程的build path目录下,此时会看到.jar下面有两个子包com.microsoft.sqlserver.jdbc包和microsoft.sql包,而SQLServerDriver驱动类就在第一个子包下面


2 采用SQLServer身份登录连接数据库服务器代码如下

  1. public
    static
    void method1()
  2.    {
  3.       try {
  4.          Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //将数据库驱动器类加载到jvm中
  5.       } catch (ClassNotFoundException e) {
  6.          e.printStackTrace();
  7.       }
  8.        String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=aa";//数据库连接地址
  9.        try {
  10.          Connection conn=DriverManager.getConnection(dbURL,"");//需要输入登录用户名和登录密码
  11.          System.out.println("Connection Successful!");
  12.        } catch (SQLException e) {
  13.          e.printStackTrace();
  14.       }
  15.    }

3 采用windows身份验证登录

需要做额外工作,且dbURL为"jdbc:sqlserver://localhost:1433;integratedSecurity=true;databasename=aa"

//integratedSecurity 身份验证方式,当为true时将使用当前的windows用户账户凭据进行身份验证;当为false时,在连接中指定用户ID和密码

代码如下

  1. public
    static
    void method2()
  2.    {
  3.       try {
  4.          Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  5.       } catch (ClassNotFoundException e) {
  6.          e.printStackTrace();
  7.       }
  8.        String dbURL="jdbc:sqlserver://localhost:1433;integratedSecurity=true;DatabaseName=aa";
  9.        try {
  10.          Connection conn=DriverManager.getConnection(dbURL);
  11.          System.out.println("Connection Successful!");
  12.        } catch (SQLException e) {
  13.          e.printStackTrace();
  14.       }
  15.    }

出现这种情况报错是因为第一次使用继承身份验证方式,需要做一些额外工作。

1 将sqljdbc_auth.dll文件复制到C:/windows/system32目录下

2为保险起见, 同时也复制到jdk/bin目录下(jre/bin目录下也需要复制一份)

Sqljdbc_auth.dll文件在sqljdbc\chs\auth\x64目录下 x86代表计算机是32位,x64代表计算机是64位,应该根据自己电脑的情况灵活选择。

Eclipse通过jdbc连接sqlserver2008数据库的两种方式的更多相关文章

  1. python连接redis数据库的两种方式

    代码: # __author__ = 'STEVEN' import redis # 方式1,直接连接 # r = redis.Redis(host='192.168.43.22',port=6379 ...

  2. C++连接mysql数据库的两种方法

    本文主要介绍了C++连接mysql数据库的两种方法,希望通过本文,能对你有所帮助,一起来看. 现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用a ...

  3. python学习--python 连接SQLServer数据库(两种方法)

    1. python 学习.安装教程参照: http://www.runoob.com/python/python-tutorial.html 2. 集成开发环境 JetBrains PyCharm C ...

  4. .Net 中读写Oracle数据库常用两种方式

    .net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ...

  5. plsql 连接oracle数据库的2种方式

      plsql 连接oracle数据库的2种方式 CreationTime--2018年8月10日09点50分 Author:Marydon 方式一:配置tnsnames.ora 该文件在instan ...

  6. Android开发之使用sqlite3工具操作数据库的两种方式

    使用 sqlite3 工具操作数据库的两种方式 请尊重他人的劳动成果,转载请注明出处:Android开发之使用sqlite3工具操作数据库的两种方式 http://blog.csdn.net/feng ...

  7. springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)

    参与该项目的文件上传和下载.一旦struts2下完成,今天springmvc再来一遍.发现springmvc特别好包,基本上不具备的几行代码即可完成,下面的代码贴: FileUpAndDown.jsp ...

  8. Django框架操作数据库的两种方式

    Django操作数据库的前提操作是成功连接数据库,详情见上篇:https://www.cnblogs.com/kristin/p/10791358.html Django查询数据库的方式一 from ...

  9. Eclipse通过JDBC连接MySQL数据库的步骤(最原始的几个步骤)

    java可以兼容目前市面上所有类型的数据库,主要是因为提供了两个接口,一个用于连接目标数据库,一个用于向数据库中传输SQL命令. Connection接口——连接目标数据库: Statement  接 ...

随机推荐

  1. mac 上传下载iterm2

    1.安装Homebrew,目的是执行 brew 命令,解决 brew: command not found问题 ruby -e "$(curl -fsSL https://raw.githu ...

  2. SQL Server 2008以上误操作数据库恢复方法——日志尾部备份

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/8491327 问题: 经常看到有人误删数据,或者误操作,特别是update和delete的 ...

  3. 转--Python语言特性

    1 Python的函数参数传递 看两个例子: a = 1 def fun(a): a = 2 fun(a) print a # 1 a = [] def fun(a): a.append(1) fun ...

  4. JavaScript之数值计算

    //两等长数组对应元素之间做减法运算[可拓展:基本运算(+/-*//)] function array_dif(length,arrayA,arrayB){ var array = new Array ...

  5. 字典取KEY,占位符,延迟刷新

    flash 监听事件者 与 事件发出者 比如说现在有A和B,A.addChild(B)A监听鼠标点击事件那么当点击B时,target是B,currentTarget是A也就是说,currentTarg ...

  6. mongodb系列~mongodb的副本集(1)

    一 简介: mongodb副本集 二 复制方式: 1 全量复制 2 增量复制三 同步检测过程:    一 正常情况下:       1 master执行语句,并将所有的修改数据库的操作以日志Oplog ...

  7. SpringBoot缓存

    (1).使用@EnableCaching注解开启基于注解的缓存 package cn.coreqi; import org.springframework.boot.SpringApplication ...

  8. .NET中制做对象的副本(二)继承对象之间的数据拷贝

    定义学生 /// <summary> /// 学生信息 /// </summary> public class Student { /// <summary> // ...

  9. 【转】inotify+rsync实现实时同步

    [转]inotify+rsync实现实时同步 1.1 什么是实时同步:如何实现实时同步 要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 发现目录中数据产生变化,就利用rsync服 ...

  10. SSD win7优化步骤

    随着固态硬盘价格不断下降,目前固态硬盘也得到了广泛了应用,一些新笔记本以及组装电脑也开始普遍采用固态硬盘平台,超级本就更不用说了,采用固态硬盘已经成标配化,虽然固态硬盘速度很快,但不懂的优化,依然无法 ...