C#无法连接数据库

来源:百度知道 编辑:UC知道 时间:2024/09/24 01:44:45
<connectionStrings>
<add name="JMDCMS" connectionString="Data Source=(local);Initial Catalog=JMDCMS;User ID=sa;Password=123456" providerName="System.Data.SqlClient"/>
<add name="System.Data.SqlClient" connectionString="Data Source=(local);Initial Catalog=JMDCMS;User ID=sa;Password=123456;"/>
</connectionStrings>
class DbProvider
{
private SqlConnection sqlConnection = new SqlConnection();
private string ConnectionString = "Data Source={0};Initial Catalog={1};User Id={2};Password={3};";
public DbProvider()
{
}
public bool Connect(string Server, string Database, string User, string Password)
{
ConnectionString = string.Format(ConnectionString, Server, Database, User, Password);
sqlConnection.ConnectionString = ConnectionString;

出现这种情况一般是安装了 Express 版数据库
我安装的就是 SQL Server2005 Express,这个版本在安装没有让用户选择是用那种模式进行身份验证,默认是用 Windows 身份验证模式,sa 用户也是被禁用的,所以会出现上面的错误,不允许进行远程连接

解决方法

一、启用数据库远程连接

1、打开 SQL Server Management Studio Express

2、打开服务器属性窗口,选中服务器,点击右键,在菜单中点击属性,就会弹出窗口

3、选择“安全性”选项卡,服务器身份验证使用“SQL Server 和 Windows 身份验证模式”,再按确定保存设置。

二、启用 sa 帐户

1、打开 SQL Server Management Studio Express

2、点击数据库服务,就会展开一个下拉列表,再点击“安全性”,又会展开一个下拉列表,再点击“登录名”,就会看见 sa 帐户,右键查看其属性,就会弹出属性窗口。

3、选择“状态”选项卡,登录设置为“启用”,按确定保存设置。

这个情况很复杂不好判断最好一个一个的排除

<connectionStrings>
<add name="JMDCMS" connectionString="Data Source=(local);Initial Catalog=JMDCMS;User ID=sa;Password=123456" providerName="System.Data.SqlClient"/>
<add name="System.Data.SqlClient" connectionString="Data Source=(local);Initial Catalog=JMDCMS;User ID=sa;Password=123456;"/>
</connection