ASP.NET C# 连接MSSQL数据库 详细图解

知道91 | 教程 | 2013-11-21 | 阅读:7934

以SQL Server 验证模式连接代码如下

string strConection="user id=此处你登录数据库的用户名;password=登录密码"; strConection+="initial catalog=数据库名字;Server=数据库服务器名字"; strConnection+="Connect Timeout=30";

示例

string strConection="user id=zhidao91;password=1234456"; strConection+="initial catalog=zhidao91database;Server=.\sqlexpress"; strConnection+="Connect Timeout=30";

如果在Web.config中设置连接字符串,参考如下:

本地连接(数据库在本机)

<connectionStrings><add name="Global" providerName="System.Data.SqlClient"connectionString="Data Source=.\sqlexpress;Initial Catalog=数据库名字;Integrated Security=True;Max Pool Size=4096; Min Pool Size=10" /> </connectionStrings>

远程连接(数据库不在本机)

<connectionStrings> <add name="Global" providerName="System.Data.SqlClient" connectionString="Data Source=数据库服务器地址; Initial Catalog=数据库名字;User id=用户名;password=密码;Max Pool Size=4096; Min Pool Size=10" /></connectionStrings>

若C#程序连接数据库时报如下或类似错误:

[Win32Exception (0x80004005): The system cannot find the file specified] [SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)] System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5295167

首先检查你的数据库服务器有没有写错(代码中Server="数据库服务器名字”;),本来连接写成
Server=(local),查看数据库的服务器的方法谷歌或者百度搜索一下。

若服务器没有错很有可能是没有开启远程连接,MSSQL默认是没有开启的,设置方法如下:

SQL Server 2008默认是不允许远程连接的,sa帐户默认禁用的,如果想要在本地用SSMS连接
远程服务器上的SQL Server 2008,需要做两个部分的配置:
1,SQL Server Management Studio Express(简写SSMS) 
2,SQL Server 配置管理器/SQL Server Configuration Manager(简写SSCM)

有两点要注意:
1,2005的外围应用配置器在2008中换了地方
2,有些设置生效需要重启一下SQL Server

step 1: 打开SSMS,用windows身份连接数据库,登录后,右键选择“属性”
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 2: 左侧选择“安全性”,选中右侧的“SQL Server 和 Windows 身份验证模式”以启用混合登录模式
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 3: 选择“连接”,勾选“允许远程连接此服务器”,然后点“确定”
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 4: 展开“安全性”->“登录名”->“sa”,右键选择“属性”
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 5: 左侧选择“常规”,右侧选择“SQL Server 身份验证”,并设置密码
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 6: 选择“状态”,选中“启用”,点击“确定”
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 7: 右击数据库选择“方面”
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 8: 将“RemoteAccessEnabled”属性设为“True”,点“确定”
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 9: 至此SSMS已设置完毕,先退出,再用sa登录,成功即表示sa帐户已经启用
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 10: 下面开始配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”
以及“SQL Server Browser”正在运行
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 11: 以下为英文版本界面。如图:右侧的TCP/IP默认是“Disabled”,双击打开设置面板将其修改
为“Enabled”
远程连接SQL Server2008配置 - Kelvin - 浮生若梦
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 12: 选择“IP Addersses”选项卡,设置端口“1433”
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 13: 如图将"Client Protocols"的"TCP/IP"也修改为“Enabled”
远程连接SQL Server2008配置 - Kelvin - 浮生若梦
远程连接SQL Server2008配置 - Kelvin - 浮生若梦

step 14: 配置完成,重新启动SQL Server 2008。