连接字符串知识详解
更新时间:2012/8/24 点击:1421次
AccessDataSource控件和SqlDataSource控件之间语法的主要区别在于使用数据库的方式各异。对MDB来说,我们只需提供文件名和路径名,而SqlDataSource则使用包含了服务器名称、数据库名称和登录信息的连接字符串名。连接字符串的语法区别于我们在Visual Basic或者C#中所熟悉的语法,并且也是很多学生犯错误的原因。一个典型的连接字符串如下:
ConnectionString="Server=MyServer; Database=MyDatabase;User ID=MyID; Password=MyPass"
多行的连接字符串的格式能够提高可读性,如下所示:
ConnectionString="
Server=MyServer;
Database=MyDatabase;
User ID = MyID;
Password=MyPass"
首先,我们来讨论语法。源代码中整个字符串处于双引号之中。当在VWD的属性窗口指定连接字符串时,您不需要引号,VWD将会自动添加。在引号中间是一些格式如Criteria=value的成对信息。分号将这些信息分隔开。请注意,值不需要使用引号。同样,请注意即使判句中包含空格(例如User ID),它们也不需要使用引号或者方括号。这种语法理解起来并不困难,但是因为与VB、C#和SQL语言不同,所以错误常常出现。现在让我们花一点时间将这个字符串分解开来。
在这个连接字符串中有两种值:数据库标识符(服务器、实例和数据库)和安全值(用户ID、密码和安装设置)。数据库标识符以服务器值开始,这个值是运行SQL Server的机器的网络名称。(在XP中机器名称的获得可以通过Start->My Computer;单击右键并选择Properties->Computer Name tab->Full Computer Name。在Windows 2000中,可以在桌面的My Computer上单击右键->Properties->Network Indentification)。如果知道数据库服务器与ASP.NET运行的Web 服务器使用相同的机器,那么还可以将服务器名称指定为(local)来表明服务器就是ASP.NET页面运行的本地机器。可以用Instance=MyInstance来添加实例。更一般的情况是,使用MyServer \My- Instance或者(local)\MyInstance来添加实例至服务器名称。可能还会看到使用句点(句号)来表示本地机器,例如.\SQLExpress。
在默认情况下,SSE安装自己的实例。单独引用(local)将导致失败。必须使用(local)\SQLExpress来引用SSE。
安全设置将在本章稍后讨论。现在,我们来了解Windows Authentication,使用属性IntegratedTrusted_connection=true而不是用户ID和密码属性。SQL认证需要两个值:user=MyUserName;password=MyPassword,其中MyUserName和MyPassword将被您的证书代替。本文使用的是Windows认证。
如果您熟悉ASP早期版本,那么也许对提供程序感到疑惑。SqlDataSource的默认提供程序是.NET Framework Data Provider for SQL Server。所以在本章中不需要指定提供程序。下一章将会讨论为其他数据库指定非默认的提供程序。
ConnectionString="Server=MyServer; Database=MyDatabase;User ID=MyID; Password=MyPass"
多行的连接字符串的格式能够提高可读性,如下所示:
ConnectionString="
Server=MyServer;
Database=MyDatabase;
User ID = MyID;
Password=MyPass"
首先,我们来讨论语法。源代码中整个字符串处于双引号之中。当在VWD的属性窗口指定连接字符串时,您不需要引号,VWD将会自动添加。在引号中间是一些格式如Criteria=value的成对信息。分号将这些信息分隔开。请注意,值不需要使用引号。同样,请注意即使判句中包含空格(例如User ID),它们也不需要使用引号或者方括号。这种语法理解起来并不困难,但是因为与VB、C#和SQL语言不同,所以错误常常出现。现在让我们花一点时间将这个字符串分解开来。
在这个连接字符串中有两种值:数据库标识符(服务器、实例和数据库)和安全值(用户ID、密码和安装设置)。数据库标识符以服务器值开始,这个值是运行SQL Server的机器的网络名称。(在XP中机器名称的获得可以通过Start->My Computer;单击右键并选择Properties->Computer Name tab->Full Computer Name。在Windows 2000中,可以在桌面的My Computer上单击右键->Properties->Network Indentification)。如果知道数据库服务器与ASP.NET运行的Web 服务器使用相同的机器,那么还可以将服务器名称指定为(local)来表明服务器就是ASP.NET页面运行的本地机器。可以用Instance=MyInstance来添加实例。更一般的情况是,使用MyServer \My- Instance或者(local)\MyInstance来添加实例至服务器名称。可能还会看到使用句点(句号)来表示本地机器,例如.\SQLExpress。
在默认情况下,SSE安装自己的实例。单独引用(local)将导致失败。必须使用(local)\SQLExpress来引用SSE。
安全设置将在本章稍后讨论。现在,我们来了解Windows Authentication,使用属性IntegratedTrusted_connection=true而不是用户ID和密码属性。SQL认证需要两个值:user=MyUserName;password=MyPassword,其中MyUserName和MyPassword将被您的证书代替。本文使用的是Windows认证。
如果您熟悉ASP早期版本,那么也许对提供程序感到疑惑。SqlDataSource的默认提供程序是.NET Framework Data Provider for SQL Server。所以在本章中不需要指定提供程序。下一章将会讨论为其他数据库指定非默认的提供程序。