C#如何连接SQLSERVER数据库?window身份验证跟sql server身份验证的区别是什

C#如何连接SQLSERVER数据库?window身份验证跟sqlserver身份验证的区别是什么?... C#如何连接SQLSERVER数据库?window身份验证跟sql server身份验证的区别是什么? 展开
 我来答
普实软件
2017-08-09 · 知道合伙人软件行家
普实软件
知道合伙人软件行家
采纳数:1703 获赞数:7396
普实软件ERP专家

向TA提问 私信TA
展开全部

采用集成的Windows验证和使用Sql Server身份验证进行数据库的登录

1、集成的Windows身份验证语法范例

string constr = "server=.;database=myschool;integrated security=SSPI";

说明:程序代码中,设置了一个针对Sql Server数据库的连接字符串。其中server表示运行Sql Server的计算机名,由于程序和数据库系统是位于同一台计算机的,所以我们可以用.(或localhost)取代当前的计算机名。

database表示所使用的数据库名(myschool)。由于我们希望采用集成的Windows验证方式,所以设置 integrated security为SSPI即可。

2、Sql Server 2005中的Windows身份验证模式如下:

string constr = "server=.;database=myschool;uid=sa;pwd=sa";

说明:程序代码中,采用了使用已知的用户名和密码验证进行数据库的登录。数据库连接字符串是不区分大小写的。uid为指定的数据库用户名,pwd为指定的用户口令。

为了安全起见,一般不要在代码中包括用户名和口令,你可以采用前面的集成的Windows验证方式或者对Web.Config文件中的连接字符串加密的方式提高程序的安全性。


window身份验证跟sql server身份验证的区别

windows身份验证:

只要能登录操作系统的用户都可以登录数据库。windows身份验证由windows验证并分配有效的安全ID,同时也只能windows用户登录连接。

sqlserver身份验证:

需要在数据库中设置用户和密码,才能登录可以登录的数据库。必须提供SQL Server用户ID和密码


优缺点:

Windows身份验证使用单一的用户信息库源,因此,不需要为数据库访问去分别配置用户。

连接字符串不包含用户ID和密码,因此消除了把用户ID和密码暴露给未授权的用户的危险。可以在Active Directory中管理用户和他们的角色,而不必在SQLServer中显式地配置他们的属性。 

Windows身份验证的缺点是,它要求客户通过Windows的安全子系统支持的安全通道去连接SQL Server。如果应用种序需要通过不安全的网络(例如Internet)连接SQL Server,Windows身份验证将不工作。

此外,这种身份验证方法也部分地把管理数据库访问控制的责任从DBA身上转移到了系统管理员身上,这在确定的环境中也是一个问题。

handangaoyang
2014-06-25 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:887万
展开全部

1.链接数据库

数据库的服务开启

using(SqlConnection conn = new SqlConnection("你的数据库的链接字符串"))
{
    //这样就打开了
    conn.Open();
}
2.window身份验证与sqlserver身份验证的区别。安全级别不同。
如果是window身份验证,那么当你登陆sqlserver的时候,你的windows用户,也是sqlserver用户,所以可以直接登录。

如果是sqlserver身份验证,那么你登录sqlserver的时候,你是需要输入你的sqlserver用户,才可以登录sqlserver
追问
链接字符串有没有区别啊
追答

有的

window身份验证字符串不需要带sqlserver的用户名与密码

Server=sqlserver服务地址;Database=数据库;Trusted_Connection=Yes;Connect Timeout=90

sqlserver身份验证字符串需要带sqlserver的用户名与密码

Server=sqlserver服务地址;uid=用户名;pwd=用户名密码;database=数据库
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chaoningwang
2014-06-25 · TA获得超过682个赞
知道小有建树答主
回答量:806
采纳率:83%
帮助的人:879万
展开全部
  1. 链接语句如下:

    string connString = @"Data Source=.\SQLEXPRESS;Initial Catalog=Book;Integrated Security=True";   //引入数据源

    SqlConnection connection = new SqlConnection(connString);   //连接到引入的数据库

  2. windows验证就是数据库账号密码和操作系统上的一样,sql验证是数据库有自己独立的账号密码;sql验证必win验证更安全。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柯梦轩8
2018-03-30 · TA获得超过702个赞
知道答主
回答量:5
采纳率:82%
帮助的人:808
展开全部
  1. 链接数据库
    数据库的服务开启
    using(SqlConnection conn = new SqlConnection("你的数据库的链接字符串"))
    {
    //这样就打开了
    conn.Open();

  2. window身份验证与sqlserver身份验证的区别。安全级别不同。
    如果是window身份验证,那么当你登陆sqlserver的时候,你的windows用户,也是sqlserver用户,所以可以直接登录。

    如果是sqlserver身份验证,那么你登录sqlserver的时候,你是需要输入你的sqlserver用户,才可以登录sqlserver。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式