sql server-连接字符串

sqlServer   数据库常用连接字符串

用户名和密码验证的方式去连接到数据库服务器

  <add name="conStr" connectionString="Data Source=服务器名;Initial Catalog=数据库名; User Id=用户名;Password=密码"/>  

  <add name="conStr" connectionString="Server=服务器名;Database=数据库名;User Id=用户名;Password=密码"/>  

<add name="conStr" connectionString="server=l服务器名;database=数据库名;uid=用户名;pwd=密码;pooling=true;min pool size=1;max pool size=2;connection reset=true"/>

 

Windows验证的方式去连接到数据库服务器

 

   <add name="conStr" connectionString="Data Source=服务器名;Initial Catalog=数据库名;Integrated Security=True;" />

    <add name="conStr" connectionString="Data Source=服务器名;Initial Catalog=数据库名;Integrated Security=SSPI;" />    

   <add name="conStr" connectionString="Data Source=服务器名;Initial Catalog=数据库名;Trusted_Connection = False;Encrypt = yes" />

<add name="conStr" connectionString=" data source=服务器名;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"/>

 

连接字符串中的integrated security=true的意思是什么

integrated security=true 的意思是集成验证,也就是说使用Windows验证的方式去连接到数据库服务器。

这样方式的好处是不需要在连接字符串中编写用户名和密码,从一定程度上说提高了安全性。

那么到底是用哪一个Windows身份呢?很多朋友说,使用当前用户的身份吧?这个回答不能算错,至少在Windows应用程序中是这样的。但如果换成是ASP.NET应用程序,则就不是了。

如果是ASP.NET应用程序(网站或者服务),那么根据其运行宿主环境的不一样,可能会有差异

1. Windows XP :ASPNET帐号

2. Windows 2003或者以后的版本:NetWork Service帐号

知道这个原理之后,那么如果你准备用Integrated security=true,则需要授予这两个帐号对于数据库的访问权限。

但要注意一个问题(也是很多朋友疑惑的),就是在Visual Studio里面调试的时候,貌似又不是使用ASPNET这个帐号的。这是因为Visual Studio总是使用当前开发环境中,用户的Windows身份来发起请求的。

从下面的图可以看到这个差别。在VS里面调试,与在IIS中调试,访问的身份是不一样的

陈希章 《Office 365开发入门指南》作者

 

Persist Security Info=False"表示的是什么?

ADO数据库连接中的Persist Security Info参数的作用

ADO用了这么久,每次用向导创建ADO的数据库连接字符串时总会有产生一个Persist Security Info属性,平时没太注意,因为设置为True或False时对数据库连接没有任何影响。

不过心理还是不爽,今天有时间查询了一下资料,总算搞清楚了它 的作用。

Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",

True表示保存,False表示不保存

ADO缺省为True

(ADO.net缺省为False,未测试,根据参考资料上说的)

具体可以通过ADO的Connect对象的ConnectString属性进行验证,如下所示(以下在Delphi7中测试通过):

----------------------------------------------------------------------------------------------------------

数据库连接前

ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=yzs;Data Source=ydgl22;Persist Security Info=false"

数据库连接成功后

ConnectString="Provider=MSDAORA.1;User ID=yzs;Data Source=ydgl22"

----------------------------------------------------------------------------------------------------------

数据库连接前

ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=yzs;Data Source=ydgl22;Persist Security Info=true"

数据库连接成功后

ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=dlyx;Data Source=ydgl22"

----------------------------------------------------------------------------------------------------------

总体来说,如果数据库连接成功后不再需要连接的密码,出于安全性考虑,还是建议将Persist Security Info设为false,以防止后门程序取得数据库连接的密码(windows2003在sp1前就发生过这个问题)。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值