在Visual Studio 2005连接SQL Server 2000中,我们可能会知道,连接字符串会比较简单,普通近程连接的时候,只需求在Web.config文件配置如下:
然后在代码中通过调用下面的语句就可以实现数据库的连接了。
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]); 在此前提只需求把身份验证设置成为SQL Server和Windows验证就可以了。
而在SQL Server 2005中,如果直接这样操作就会报下面的错误: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行近程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 。
我们就需求单独对SQL Server 2005进行配置,
步骤如下: 1、配置SQL Server外围使用服务器,开启SQL2005近程连接功用
操作方式如下,点击“配置工具”->“SQL Server外围使用配置器”,然后在打开的窗口中选择“服务和连接的外围使用配置器”->然后选择Database Engine节点下的 “近程连接”,选择“本地连接和近程连接”,同时选择“同时使用TCP/IP和named pipes”,确定后然后需求重新启动数据库服务就可以了。
2、.把登陆设置改为SQL Server 和 Windows 身份验证模式,
具体设置如下: 打开SQL Server Management Studio管理器,点击服务器上面右键然后查看属性,在安全性选项里面对服务身份验证选择“SQL Server 和 Windows 身份验证模式”。
3.、修正SQL Server sa的密码,体设置如下: 在SQL Server Management Studio管理器中,展开服务器上的“安全性”->登陆名->在sa帐号上点右键属性,这样在“常规”的选择页中更改sa登陆帐号的密码。留意SQL Server2005中,不允许密码设置简单,否则会通不过。然后在选择页的“形状”的登录修正为启用。
4、.数据库连接字符串: 数据库连接字符串有很多种,
如: Data Server=.\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password=sapassSql Data Server=服务器名\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password= sapassSql Data Server=localhost\SQLEXPRESS;Initial Catalog=Northwind;User ID=sa;Password= sapassSql Data Server=.;Initial Catalog=Northwind;User ID=sa;Password= sapassSql Data Server=服务器名;Initial Catalog=Northwind;User ID=sa;Password= sapassSql 具体的选择是和SQL Server2005的版本有关系,如果是SQL Server 2005 Express版本,则必需要有“\SQLEXPRESS”,因此如果字符串是定义为一个变量的时候应该写成Server=.\\SQLEXPRESS。
5、.在.net2.0 Framework中注册SQL Server数据库: 找到.net2.0 Framework的安装路径,普通安装在 “C:\Windows\Microsoft.NET\Framework\v2.0.50727”目录下,然后在DOS中在指定目录下运转“ASPNET_REGSQL”指令,就会出现ASP.NET SQL Server安装导游,点击“下一步”,然后选择“为使用程序服务配置SQL Server”,然后直接点击下一步,就会完成SQL Server注册界面。我们就会看到NorthWind数据库下面多了几张表。
6、.设置web.config文件: 在使用程序中的web.config文件添加如下数据库连接的配置: 这样我们便在Visual Studio 2005中可以轻松的调用SQL Server的数据连接了。 如今我们来对上面所做的步骤来测试数据的连接,我们打开Visual Studio 2005,在视图的“服务器资源管理器”来添加SQL Server 2005的连接,通过输入服务器名称和对应的SQL Server身份验证的sa用户名密码后,选取对应的数据库,然后点击“测试连接”,就会成功的连接到数据库了。