Eclipse通过jdbc连接sqlserver2008数据库的两种方式
数据库登录身份验证方式有两种



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

- //创建windows身份验证登录的用户
- 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身份登录连接数据库服务器代码如下
- public
 static
 void method1()
- {
- try {
- Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //将数据库驱动器类加载到jvm中
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=aa";//数据库连接地址
- try {
- Connection conn=DriverManager.getConnection(dbURL,"");//需要输入登录用户名和登录密码
- System.out.println("Connection Successful!");
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
3 采用windows身份验证登录
需要做额外工作,且dbURL为"jdbc:sqlserver://localhost:1433;integratedSecurity=true;databasename=aa"
//integratedSecurity 身份验证方式,当为true时将使用当前的windows用户账户凭据进行身份验证;当为false时,在连接中指定用户ID和密码
代码如下
- public
 static
 void method2()
- {
- try {
- Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- String dbURL="jdbc:sqlserver://localhost:1433;integratedSecurity=true;DatabaseName=aa";
- try {
- Connection conn=DriverManager.getConnection(dbURL);
- System.out.println("Connection Successful!");
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }

出现这种情况报错是因为第一次使用继承身份验证方式,需要做一些额外工作。
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数据库的两种方式的更多相关文章
- python连接redis数据库的两种方式
		代码: # __author__ = 'STEVEN' import redis # 方式1,直接连接 # r = redis.Redis(host='192.168.43.22',port=6379 ... 
- C++连接mysql数据库的两种方法
		本文主要介绍了C++连接mysql数据库的两种方法,希望通过本文,能对你有所帮助,一起来看. 现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用a ... 
- python学习--python 连接SQLServer数据库(两种方法)
		1. python 学习.安装教程参照: http://www.runoob.com/python/python-tutorial.html 2. 集成开发环境 JetBrains PyCharm C ... 
- .Net 中读写Oracle数据库常用两种方式
		.net中连接Oracle 的两种方式:OracleClient,OleDb转载 2015年04月24日 00:00:24 10820.Net 中读写Oracle数据库常用两种方式:OracleCli ... 
- plsql 连接oracle数据库的2种方式
		plsql 连接oracle数据库的2种方式 CreationTime--2018年8月10日09点50分 Author:Marydon 方式一:配置tnsnames.ora 该文件在instan ... 
- Android开发之使用sqlite3工具操作数据库的两种方式
		使用 sqlite3 工具操作数据库的两种方式 请尊重他人的劳动成果,转载请注明出处:Android开发之使用sqlite3工具操作数据库的两种方式 http://blog.csdn.net/feng ... 
- springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)
		参与该项目的文件上传和下载.一旦struts2下完成,今天springmvc再来一遍.发现springmvc特别好包,基本上不具备的几行代码即可完成,下面的代码贴: FileUpAndDown.jsp ... 
- Django框架操作数据库的两种方式
		Django操作数据库的前提操作是成功连接数据库,详情见上篇:https://www.cnblogs.com/kristin/p/10791358.html Django查询数据库的方式一 from ... 
- Eclipse通过JDBC连接MySQL数据库的步骤(最原始的几个步骤)
		java可以兼容目前市面上所有类型的数据库,主要是因为提供了两个接口,一个用于连接目标数据库,一个用于向数据库中传输SQL命令. Connection接口——连接目标数据库: Statement 接 ... 
随机推荐
- Kubernetes Pv & Pvc
			Kubernetes PV & pvc 介绍 PersistentVolume(pv)和PersistentVolumeClaim(pvc)是k8s提供的两种API资源,用于抽象存储细节.管理 ... 
- XMind 入门教程
			选自:http://www.xmindchina.net/ XMind 是一款非常实用的商业思维导图软件,应用全球最先进的Eclipse RCP 软件架构,全力打造易用.高效的可视化思维软件.对于新手 ... 
- ansible-playbook && Roles && include
			先看一个yml文件示例 --- - hosts: webservers #主机组 vars: ##变量设置 http_port: 80 max_clients: 200 remote_user: ro ... 
- Mysql忘记数据库密码以及用户授权案例展示
			Mysql忘记数据库密码以及用户授权案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家在学习MySQL时如果很长一段时间不使用密码是不是就忘记MySQL的管理密码啦?这种 ... 
- git的基本操作---就看我这一篇就足够了!!!!!
			git操作项目的大致步骤. git init //初始化一个本地仓库. git add . //添加文件 git commit -m '提交内容' //提交到本地仓库 git status //查看状 ... 
- Nginx的alias的用法及与root的区别
			以前只知道Nginx的location块中的root用法,用起来总是感觉满足不了自己的一些想法.然后终于发现了alias这个东西. 先看toot的用法 location /request_path/i ... 
- HDU - 5419 Victor and Toys(组合计数)
			http://acm.hdu.edu.cn/showproblem.php?pid=5419 题意 n个物品,标号1-n,物品i有权值wi.现在有m个区间[l,r],从中任意选三个区间i,j,k,求物 ... 
- Git 设置过滤忽略的文件或文件夹(ignore file)
			我们一般向代码仓库提交项目的时候,一般需要忽略编译生成的中间文件以及文件夹的提交,因为它们是无用的,而且也会占用仓库的空间.一般只用提交.pro,.sln,makefile,程序源文件等编译必须用到的 ... 
- C#使用Font Awesome字体
			这个类是一个开源类,我做了一些功能优化1.如果没有安装Font Awesome字体,可能需要直接去exe路径下使用对应名称字体.2.可以直接返回\uFxxx类型字体,方便winform按钮使用,不然的 ... 
- C# 摇奖机实例(线程)
			using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ... 
