原文:http://www.VEVb.com/wupeiqi/archive/2013/05/04/3058914.html
这里详细的介绍了各种数据库的各种连接http://www.connectionstrings.com/
例如:String strConn="Data Source=.;Initial Catalog=数据库的名字;Integrated Security=ture" String strConn="Data Source=.;Initial Catalog=数据库的名字;Integrated Security=false";User ID=sa;Passwrod=123; String strConn="Server=.;Database=数据库名称";User Id=sa;PassWord=123;
1、Data Source 数据源,也可以说是服务器。 “Data Source”可以由下列字符串代替:“server”,“address”,“addr”和“network address”。 本地数据源:Data Source=./SQLExPRess,Data Source=(Local)/SQLExpress
2、Initial Catalog 数据库名称 Initial Catalog 可以由下俩字符串代替:“Database”3、Integrated Security “Integrated Security”可以写成“trusted_connection” 为true时,使用当前的 Windows 身份验证 为false时,需要在连接中指定用户名和密码(即使连接字符串中有User Id 和Password也是不起作用的!)Integrated Security 可以设置为: True, false, yes, no ,这四个容易理解了,另外,还可以设置为:sspi ,相当于 True
//sql server 身份验证 连接字符串private string ConnstrSqlServer = "server=服务器名称;uid=登录名称;pwd=登录密码;database=数据库名称";
//windows 身份验证连接字符串private string ConnstrWindows = "server=服务器名称;database=数据库名称;Trusted_Connection=SSPI";
// 在 C# 代码中用 SqlClient 的方式访问 SQL Server 2008 数据库 // .NET Framework Data Provider for SQL Server 标准写法 Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
// .NET Framework Data Provider for SQL Server 另一种标准写法 Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;
// .NET Framework Data Provider for SQL Server 信任连接写法 Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
// .NET Framework Data Provider for SQL Server 信任连接另一种写法 Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合。每一个属性/值对都由分号隔开。 PropertyName1=Value1;PropertyName2=Value2;PropertyName3=Value3;..... 同样,连接字符串必须包含SQL Server实例名称: Data Source=ServerName; 使用本地的SQL Server(localhost),如果想要使用远程服务器运行,应该在示例对象中把正确的服务器赋给Data Source 属性。此外,还必须指定所支持的两种身份验证方法(即Windows身份验证和SQL Server身份验证)中的其中一种。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 .NET Data Provider连接指定用户的默认数据库,当在数据库中创建用户时,可以设置用户的默认数据库。此外,也可以在任意时间更改用户的默认数据库。例如,系统管理员的默认数据库是master。如果想要连接不同的数据库,应该指定数据库的名称: Data Source=ServerName;Integrated Security=SSPI;Initial Catalog=Northwind
每一种身份验证都有它的优点和缺点。Windows身份验证使用单一的用户信息库源,因此,不需要为数据库访问去分别配置用户。连接字符串不包含用户ID和密码,因此消除了把用户ID和密码暴露给未授权的用户的危险。可以在Active Directory中管理用户和他们的角色,而不必在SQL Server中显式地配置他们的属性。 Windows身份验证的缺点是,它要求客户通过Windows的安全子系统支持的安全通道去连接SQL Server。如果应用种序需要通过不安全的网络(例如Internet)连接SQL Server,Windows身份验证将不工作。此外,这种身份验证方法也部分地把管理数据库访问控制的责任从DBA身上转移到了系统管理员身上,这在确定的环境中也许是一个问题。 一般而言,在设计通用的应用程序时,为了使用Windows身份验证,将会对一些方面进行加强。大多数公司的数据库都驻留在比较健壮的Windows服务器操作系统上,那些操作系统都支持Windows身份验证。数据访问层和数据表示层的分离也促进了把数据访问代码封装在中间层组件思想的应用,中间层组件通常运行在具有数据库服务器的内部网络中。当这样设计时,就不需要通过不安全通道建立数据库连接。除此之外,Web服务也使直接连接不同域中数据库的需要大减少。
数据库的连接性已经发展成为应用程序开发的一个标准方面。数据库连接字符串现在已经成为每个项目的标准必备条件。我发现自己为了找到所需要的句法,经常要从另外一个应用程序中复制连接字符串或者进行一次搜索。这个在与SQL Server交互操作时更是如此,因为它有太多的连接字符串选项。现在就让我们来研究一下连接字符串的众多方面。
连接字符串
在对象实例化或者建立期间,数据库连接字符串通过属性或方法被传递到必要的对象。连接字符串的格式是一个以分号为界,划分键/值参数对的列表。列表A中包括了一个C#中的例子,说明了怎样用创建SqlConnection对象的方法连接到SQL Server(实际的连接字符串是通过对象的ConnectionString属性分配的)。列表B中包括的是VB.NET的版本。
列表A
string cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;"; SqlConnectionconn = new SqlConnection(); conn.ConnectionString = cString;conn.Open();
列表B
Dim cString As String cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;"
Dim conn As SqlConnection = New SqlConnection() conn.ConnectionString = cString conn.Open()
连接字符串会指定数据库服务器和数据库,以及访问数据库必需的用户名和密码。但是这种格式并不是对所有数据库交互都适用,它的确有许多可用的选项,其中很多选项都有同义词。
和Data Source(数据源)、Initial Catalog(初始编目)、User ID(用户ID)、和Password(密码)等元素一起,下面这些选项都是可用的:
解决SQL Server 连接时的一些基本问题后的若干初浅心得
学生做了一个题库系统,用C#写的ASP应用程序,数据库用SQL Server2000,交给我看看。放到服务器上后,出现问题。反复调整后发现了解决的方法,其实很简单。回过头去看了看,发现是自己对SQL Server的连接语句和用户权限的认识不足所造成的。下面将我的一些心得以及网上查到的有关资料汇集一下,以为后来者借鉴,当然很肤浅。1、SQL Server的连接方式
以本地服务器(LocalHost),数据库(Northwind)为例,可以有以下一些连接方式
SqlConnection conn=new SqlConnection( "Server=LocalHost;Integrated Security=SSPI;Database=Northwind");
SqlConnection conn = new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=Northwind;");
SqlConnection conn = new SqlConnection(" Data Source=LocalHost;Initial Catalog=Northwind;Integrated Security=SSPI;Persist Security Info=False;Workstation Id=XURUI;Packet Size=4096; "); SqlConnection myConn = new SqlConnection("Persist
新闻热点
疑难解答