.NET中SQL Server数据库连接方法

1. 使用本机上的SQL Server Express 实例上的用户实例。

      用户实例的连接创建了一个新的SQL Server 实例。此连接只能是在本地SQL Server 2005实例上并且是通过命名管的windows验证连接才有效目的就是为了给用户创建一个完全权限的Sql Server 实例和有限的计算机管理员权限。

       语法格式:

       Data Source=./SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|/mydb.mdf;Database=mydb;User Instance=true;

       注意:

  • 为什么要带上Database参数呢?因为如果有同名的数据库已经被附加上啦,SQL Server将不会重新附加该数据库。他将使用原数据库作为要连接的对象。
  • 要使用User Instance 功能,你要在sql server服务器上启用他。你可以通过执行“sp_configure 'user instances enabled', '1'”来启用,执行“sp_configure 'user instances enabled', '0'”来禁用。

2. 使用Windows身份验证方式(无须用户名和密码)

         语法格式:

        Integrated Security=SSPI;Data Source=localhost;Initial Catalog=dbName;

 

3. 使用Sql Server身份验证方式

        语法格式:  

       Data Source=localhost;Initial Catalog=dbName;User ID=sa;Password=;

       Data Source=.;Initial Catalog=brnmall;Integrated Security=SSPI

        在这里要解释几个参数:

  • Data Source=ServerName;

       使用本地的SQL Server(“localhost”   “127.0.0.1”   “本机IP”  “.”),如果想要使用远程服务器运行,应该在示例对象中把正确的服务器赋给Data Source 属性。

  • Data Source=ServerName;Integrated Security=True;

        Windows身份验证使用Windows登录用户身份连接数据库,而SQL身份验证要求显式地指定SQL Server用户ID和密码。要想使用Windows身份验证,必须在连接字符串中包括 Integrated Security 属性:

        默认情况下,Integrated Security = False ,也就是在默认情况下无法使用Windows身份验证方式,只能采用SQL Server身份验证方式进行连接。Integrated Security=SSPI(Security Support Provider Interface,安全性支持提供者接口).在所有的Windows NT操作系统上(Windows NT 4.0、2000、XP,都支持值SSPI),它是使用Windows身份验证时可以使用的惟一接口,相当于把Integrated Security 属性值设置为True。

       每一种身份验证都有它的优点和缺点。Windows身份验证使用单一的用户信息库源,因此,不需要为数据 库访问去分别配置用户。连接字符串不包含用户ID和密码,因此消除了把用户ID和密码暴露给未授权的用户的危险。可以在Active Directory中管理用户和他们的角色,而不必在SQL Server中显式地配置他们的属性。

       Windows身份验证的缺点是,它要求客户通过Windows的安全子系统支持的安全通道去连接SQL Server。如果应用种序需要通过不安全的网络(例如Internet)连接SQL Server,Windows身份验证将不工作。此外,这种身份验证方法也部分地把管理数据库访问控制的责任从DBA身上转移到了系统管理员身上,这在确 定的环境中也许是一个问题。

       (以上参考:http://www.cnblogs.com/lanse777/archive/2007/03/28/691757.html)

posted @ 2016-02-24 13:06  lunawzh  阅读(1537)  评论(0编辑  收藏  举报