sql server 数据库连接方式分析、详解
本文链接:https://blog.csdn.net/wang379275614/article/details/7859398

一、OLEDB方式连接
Sql身份验证模式:Provider="SQLOLEDB;data source=server_name;initial catalog=databasename;uid=username;pwd=password;"
Windows身份验证模式:ConnectString=”Provider=SQLOLEDB;Data Source=server_name;DataBase=databasename; Integrated Security=SSPI;Persist Security=true”
此两种方式的却别仅在于windows验证中用Integrated Security=SSPI代替了sql验证中的uid=username;pwd=password语句(即指明用户名、密码语句)
1.Provider=SQLOLEDB:提供者为SQLOLEDB(此为固定)
2.Integrated Security=SSPI:集成安全机制采用SSPI
SSPI是Security Support Provider Interface(Microsoft安全支持提供器接口)SSPI是定义得较全面的公用API,用来获得验证、信息完整性、信息隐私等集成安全服务,以 及用于所有分布式应用程序协议的安全方面的服务。
设置Integrated Security为 True 的时候,采用windows身份验证模式。只有设置为 False 或省略该项的时候,采用 UserID, PWD 来连接。Integrated Security 可以设置为: True, false, yes, no ,还可以设置为:sspi ,相当于 True,建议用这个代替 True。
3.Persist Security Info:坚持安全信息
Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",True表示保存,False表示不保存.ADO缺省为False(即可有可无).总体来说,如果数据库连接成功后不再需要连接的密码,出于安全性考虑,还是建议将Persist Security Info设为false,以防止后门程序取得数据库连接的密码.
4.initial catalog等同于database(可以互换):指定连接数据库的名字(如果省略则连接的是当前用户名的默认数据库,详情见下文)
5.DATA SOURCE是SQL服务器的名字
在data source里用localhost或(local)或“.”都代表本地服务器. 也可用本机的外网IP地址 例如:data source=192.168.24.71;
二、ODBC方式连接
使用数据源方式:此种方式主要是配置odbc数据源,有三种方式,系统dsn、用户dsn、文件dsn。配置完数据源以后即可连接:
1.用系统dsn:connectstring= "DSN=dsnname; UID=username; PWD=password"
2.用文件dsn:connectstring = "FILEDSN=filedsnname; UID= username; PWD=password "
3.使用ODBC驱动方式:
使用ODBC 驱动程序, 免去了配置ODBC数据源的步骤, 可以利用ODBC 驱动程序直接与数据库相连接。
ConnectString="Driver={sql server};server=servername;database=databasename;uid=username;pwd=password;"
详细注释(关于windows身份验证和SQL身份验证):
Windows身份验证使用Windows登录用户身份连接数据库,而SQL身份验证要求显式地指定SQL Server用户ID和密码。要想使用Windows身份验证,必须在连接字符串中包括 Integrated Security 属性: Data Source=ServerName;Integrated Security=True;
默认情况下,Integrated Security 属性为 False ,这意味着将禁用Windows身份验证。如果没有显式地把这个属性的值设置为True,连接将使用SQL Server身份验证,因此,必须提供SQL Server用户ID和密码。Integrated Security属性还能识别的其他值只有SSPI(Security Support Provider Interface,安全性支持提供者接口).在所有的Windows NT操作系统上,其中包括Windows NT 4.0、2000、XP,都支持值SSPI。它是使用Windows身份验证时可以使用的惟一接口,相当于把Integrated Security 属性值设置为True。
在Windows身份验证模式中,SQL Server使用Windows的安全子系统对用户连接进行有效性验证。即使显示地指定用户ID和密码,SQL Server也不检查连接字符串中的用户ID和密码。因为只有Windows NT、2000、XP支持SSPI,因此如果正使用的是这些操作系统,则只能使用Windows集成的安全策略去连接SQL Server。不论使用哪一个操作系统,当使用SQL Server身份验证时,必须在连接字符串中指定用户ID和密码:
Data Source=ServerName;User ID=donaldx;Password=unbreakable
默认情况下,SQL Server 每一个用户都可指定一个默认数据库,当在数据库中创建用户时,可以设置用户的默认数据库。
此外,也可以在任意时间更改用户的默认数据库。如下图
设置好默认数据库后在连接时可以不指定database(或initial catalog)的值即可连接默认数据库
sql server 数据库连接方式分析、详解的更多相关文章
- SQL server 数据库连接方式分析
SQL server 数据库连接方式图示: ODBC和OLEDB连接的区别 ODBC(开放数据库互连):是Microsoft引进的一种早期数据库接口技术.它实际上是ADO的前身.早期的数据库连接是非常 ...
- SQL Server 执行计划操作符详解(3)——计算标量(Compute Scalar)
接上文:SQL Server 执行计划操作符详解(2)--串联(Concatenation ) 前言: 前面两篇文章介绍了关于串联(Concatenation)和断言(Assert)操作符,本文介绍第 ...
- SQL Server 执行计划操作符详解(2)——串联(Concatenation )
本文接上文:SQL Server 执行计划操作符详解(1)--断言(Assert) 前言: 根据计划,本文开始讲述另外一个操作符串联(Concatenation),读者可以根据这个词(中英文均可)先幻 ...
- SQL Server中的锁 详解 nolock,rowlock,tablock,xlock,paglock
摘自: http://www.myexception.cn/sql-server/385562.html 高手进 锁 nolock,rowlock,tablock,xlock,paglock 锁 no ...
- SQL Server DBA工作内容详解
在Microsoft SQL Server 2008系统中,数据库管理员(Database Administration,简称为DBA)是最重要的角色.DBA的工作目标就是确保Microsoft SQ ...
- sql server中部分函数功能详解
1.TOP 子句 TOP 子句用于规定要返回的记录的数目. 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的. SQL Server 的语法: SELECT TOP number|percen ...
- SQL Server 执行计划操作符详解(1)——断言(Assert)
前言: 很多很多地方对于语句的优化,一般比较靠谱的回复即使--把执行计划发出来看看.当然那些只看语句就说如何如何改代码,我一直都是拒绝的,因为这种算是纯蒙.根据本人经验,大量的性能问题单纯从语句来看很 ...
- sql server中的日期详解使用(convert)
转自:http://blog.csdn.net/hehe520347/article/details/48496853 有个字段值例如2012-07-02 00:00:00.000 转化成 2012- ...
- SQL Server 事务隔离级别详解
标签: SQL SEERVER/MSSQL SERVER/SQL/事务隔离级别选项/设置数据库事务级别 SQL 事务隔离级别 概述 隔离级别用于决定如果控制并发用户如何读写数据的操作,同时对性能也有一 ...
随机推荐
- selenium破解人人登陆验证码
from selenium import webdriverfrom PIL import Imagefrom chaojiying import Chaojiying_Clientimport ti ...
- input框随输入的文字的多少自动调整宽度粗略版本
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 因子分析和PCA总结
因子分析和PCA 定义 因子分析就是数据降维工具.从一组相关变量中删除冗余或重复,把相关的变量放在一个因子中,实在不相关的因子有可能被删掉.用一组较小的“派生”变量表示相关变量,这个派生就是新的因子. ...
- Django的模板变量
变量的值来自context中的数据字典, 类似于字典对象的keys到values的映射关系. 变量是被}}和{{括起来的部分 变量看起来就像是这样: {{ variable }}. 当模版引擎遇到一个 ...
- 深入分析Java反射(二)-数组和枚举
前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行 ...
- offer(背包问题、DP)
蒜头君很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了.要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的.蒜头君没有多少钱,总共只攒了n万元 ...
- 吴裕雄--天生自然 PYTHON3开发学习:字符串
var1 = 'Hello World!' var2 = "Runoob" #!/usr/bin/python3 var1 = 'Hello World!' var2 = &quo ...
- 01 语言基础+高级:1-3 常用API第一部分_day07【Scanner类、Random类、ArrayList类】
day07[Scanner类.Random类.ArrayList类] Scanner类Random类ArrayList类 教学目标 能够明确API的使用步骤能够使用Scanner类获得键盘录入数据能够 ...
- c/c++基础 输入函数/流
....光看算法了没怎么注意输入函数输入流 无论get(char *) gets(char *)/gets_s(char * ,sizeof char*) cin.getline(char* ,siz ...
- SRS|Stratified sampling|系统抽样|Cluster sampling|multistage sampling|
生物统计学 总体和抽样 抽样方法: ========================================================= 简单随机抽样SRS:随机误差,系统误差 标准误, ...