sql server 数据库连接方式分析、详解
2014-07-01 21:51
435 查看
*OLEDB方式连接
Sql身份验证模式:Provider="SQLOLEDB;datasource=server_name;initialcatalog=databasename;uid=username;pwd=password;"Windows身份验证模式:ConnectString=”Provider=SQLOLEDB;DataSource=server_name;DataBase=databasename;Integrated
Security=SSPI;PersistSecurity=true”
注释:(此两种方式的却别仅在于windows验证中用IntegratedSecurity=SSPI代替了sql验证中的uid=username;pwd=password语句(即指明用户名、密码语句))
1.Provider=SQLOLEDB:提供者为SQLOLEDB(此为固定)2.IntegratedSecurity=SSPI:
集成安全机制采用SSPI
SSPI是SecuritySupportProviderInterface(Microsoft安全支持提供器接口)SSPI是定义得较全面的公用API,用来获得验证、信息完整性、信息隐私等集成安全服务,以及用于所有分布式应用程序协议的安全方面的服务。
设置IntegratedSecurity为True的时候,采用windows身份验证模式。只有设置为False或省略该项的时候,采用UserID,PWD来连接。IntegratedSecurity可以设置为:True,false,yes,no,还可以设置为:sspi,相当于True,建议用这个代替True。
3.PersistSecurityInfo:坚持安全信息
PersistSecurityInfo属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",True表示保存,False表示不保存.ADO缺省为False(即可有可无).总体来说,如果数据库连接成功后不再需要连接的密码,出于安全性考虑,还是建议将PersistSecurityInfo设为false,以防止后门程序取得数据库连接的密码.
4.initialcatalog等同于database(可以互换):指定连接数据库的名字(如果省略则连接的是当前用户名的默认数据库,详情见下文)
5.DATASOURCE是SQL服务器的名字
在datasource里用localhost或(local)或“.”都代表本地服务器.也可用本机的外网IP地址例如:datasource=192.168.24.71;
*ODBC方式连接
使用数据源方式:此种方式主要是配置odbc数据源,有三种方式,系统dsn、用户dsn、文件dsn。具体方法这里不作介绍。配置完数据源以后即可连接:
用系统dsn:connectstring="DSN=dsnname;UID=username;PWD=password"
用文件dsn:connectstring="FILEDSN=filedsnname;UID=username;PWD=password"
使用ODBC驱动方式:
使用ODBC驱动程序,免去了配置ODBC数据源的步骤,可以利用ODBC驱动程序直接与数据库相连接。
ConnectString="Driver={sqlserver};server=servername;database=databasename;uid=username;pwd=password;"
详细注释(关于windows身份验证和SQL身份验证):Windows身份验证使用Windows登录用户身份连接数据库,而SQL身份验证要求显式地指定SQLServer用户ID和密码。要想使用Windows身份验证,必须在连接字符串中包括IntegratedSecurity属性:
DataSource=ServerName;IntegratedSecurity=True;
默认情况下,IntegratedSecurity属性为False,这意味着将禁用Windows身份验证。如果没有显式地把这个属性的值设置为True,连接将使用SQLServer身份验证,因此,必须提供SQLServer用户ID和密码。IntegratedSecurity属性还能识别的其他值只有SSPI(SecuritySupportProviderInterface,安全性支持提供者接口).在所有的Windows
NT操作系统上,其中包括WindowsNT4.0、2000、XP,都支持值SSPI。它是使用Windows身份验证时可以使用的惟一接口,相当于把IntegratedSecurity属性值设置为True。
在Windows身份验证模式中,SQLServer使用Windows的安全子系统对用户连接进行有效性验证。即使显示地指定用户ID和密码,SQLServer也不检查连接字符串中的用户ID和密码。因为只有WindowsNT、2000、XP支持SSPI,因此如果正使用的是这些操作系统,则只能使用Windows集成的安全策略去连接SQLServer。不论使用哪一个操作系统,当使用SQLServer身份验证时,必须在连接字符串中指定用户ID和密码:
DataSource=ServerName;UserID=donaldx;Password=unbreakable
默认情况下,SQLServer每一个用户都可指定一个默认数据库,当在数据库中创建用户时,可以设置用户的默认数据库。此外,也可以在任意时间更改用户的默认数据库。:如下图
设置好默认数据库后在连接时可以不指定database(或initialcatalog)的值即可连接默认数据库.
相关文章推荐
- sql server 数据库连接方式分析、详解
- sql server 数据库连接方式分析、详解
- SQL server 数据库连接方式分析
- 深入数据库通用的连接方式详解
- [SQL Server] 数据库日志文件自动增长导致连接超时的分析
- php中数据库连接方式pdo和mysqli对比分析
- Sql Server远程连接数据库(相当于Oracle的dblink方式)
- [SQL Server] 数据库日志文件自动增长导致连接超时的分析
- VC编程中利用ADO方式访问SQL Server 2012数据库(1)- 连接数据库
- SQL Server的连接数据库的方式(转)
- [SQL Server] 数据库日志文件自动增长导致连接超时的分析
- SQL Server端口更改后的数据库连接方式
- [SQL Server] 数据库日志文件自动增长导致连接超时的分析
- SQL Server端口更改后的数据库连接方式
- SQL Server端口更改后的数据库连接方式
- VC6.0 ADO方式连接远程计算机的SQL Server 2000数据库的方法
- SQL Server端口更改后的数据库连接方式
- 详解Spring连接数据库的几种常用的方式
- [SQL Server] 数据库日志文件自动增长导致连接超时的分析
- 数据库中表的连接方式详解