ASP.NET(C#)连接SQL EXPRESS

连接到 SQL Server Express 版数据库
通过将数据库服务器指定为本地 SQL Server Express 版数据源,您可以连接到 SQL Server Express 版数据库,就像您连接到任何 SQL Server 数据库一样。例如,下面的连接字符串连接到一个名为 Customers 的数据库。

Data Source=.\SQLEXPRESS;Initial Catalog=Customers;Integrated Security=True;
通过使用代替 InitialCatalog 或 Database 连接字符串属性的 AttachDBFilename 连接字符串属性,您也可以指定一个要附加到的数据库文件。通过使用文件名连接到数据库可以简化将数据库与应用程序一起部署的工作(假如目标服务器运行的是 SQL Server Express 版)。例如,下面的连接字符串连接到存储在 Customers.mdf 文件中的数据库。

Data Source=.\SQLEXPRESS;AttachDbFileName=e:\data\Customers.mdf;Integrated Security=True;User Instance=True
ASP.NET 提供了用于在 Web 应用程序的 App_Data 目录中存储数据的便捷选项。App_Data 目录的内容不会在响应 Web 请求时提供,从而提高了应用程序的数据安全性。另外一种方便性是,您可以提供 |DataDirectory| 连接字符串变量,以代替应用程序的 App_Data 目录的文件路径。当打开到数据库的连接时,ASP.NET 功能(如 SqlDataSource 控件或用于成员资格、角色、用户配置文件、Web 部件个性化设置等的提供程序)自动将 App_Data 目录的文件路径替换为 |DataDirectory| 连接字符串变量。如果将 Web 应用程序移动到另一个目录,这可以确保数据库的路径保持最新。下面的代码示例演示一个包含 |DataDirectory| 连接字符串变量的连接字符串。

Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|Customers.mdf;Integrated Security=True;User Instance=True注意
当您与 User Instance 设置为 true 的连接字符串进行连接时,SQL Server Express 版只允许有单个连接连到 .mdf 文件。


几经挣扎,该碰到的问题都碰到了,目前远程连接和连接字符串似乎差不多了,但又碰到“instance failure"的问题,稍后将尝试参考以下方法解决:

用户实例
SQL Server Express 版支持用户实例,这意味着系统将为连接到 SQL Server Express 版数据库的每个用户启动一个新进程。进程的标识将为打开该连接的用户。有关如何确定 ASP.NET 应用程序标识的信息,请参见 ASP.NET 模拟。

虽然启用用户实例适合于桌面开发,但是启动辅助进程不适合为多个客户托管站点的 Web 服务器,在这种情况下,必须分离应用程序并进行安全保护。使用相同进程标识运行的 ASP.NET 应用程序可以连接到同一个用户实例。由于在 Windows 2000 和 Windows XP Professional 上,所有 ASP.NET 应用程序都使用相同的进程标识(默认为本地 ASPNET 帐户)运行,而在 Windows Server 2003 上,同一应用程序池中的 ASP.NET 应用程序也使用相同的进程标识(默认为 NETWORK SERVICE 帐户)运行,因此包含互不信任的应用程序的托管服务器应该显式禁用用户实例。通过连接到 SQL Server Express 版实例(例如,通过在命令提示符处发出以下命令:osql –E –S .\SQLEXPRESS)并发出以下 Transact-SQL 命令,可关闭此功能。

+展开
-SQL
EXEC sp_configure 'show advanced option''1' 

GO 

RECONFIGURE WITH OVERRIDE 

GO 

EXEC sp_configure 'user instances enabled', 0 

GO 

RECONFIGURE WITH OVERRIDE 

GO 


重新设置连接字符串为

+展开
-XML
<add name="LocalSqlServerconnectionString="Data Source=[Instance Name];Initial Catalog=aspnetdb;Integrated Security=false;UID=sa;PWD=xxxxxx"/>


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mooncity/archive/2007/09/04/1771478.aspx

加支付宝好友偷能量挖...


评论(0)网络
阅读(160)喜欢(0)SQL及数据库