用户‘sa’登陆失败。原因:未与信任 SQL Sercer连接相关联

时间:2022-10-05 04:46:42
  用户‘sa’登陆失败。原因:未与信任 SQL Sercer连接相关联

问题如题
代码如下:   string myconnectstring = "server=localhost;uid=sa;pwd=123;database=DZSC";
            SqlConnection MyConnection = new SqlConnection(myconnectstring);
            string comstring = "insert 产品类别表 (name) values('" + this.txtClassName.Text + "')";
            SqlCommand MyCommand = new SqlCommand(comstring, MyConnection);
            MyCommand.Connection = MyConnection;
            MyConnection.Open();
            MyCommand.ExecuteNonQuery();
            MyConnection.Close();
            Response.Redirect("#");
是什么原因连接失败,要做改正?
出错是在调试运行的时候出错的
就是响应一个BUTTEN点击事件的时候出错了

请教各位高手要怎么做啊.....分不多  很急```大家来帮帮忙....

83 个解决方案

#1


密码错了,

#2


数据库中用户不存在或密码不正确,服务器是否开启
在安全性里看看用户
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证模式)
修改为Sql Server and Windows Authentication mode(Sql server和windows认证模式),ok。
打开security(安全性) -- logins(登录名) ,右键选中sa,选择properties(属性),点击Status(状态)切换到状态面板,将Login(登录)设置为Enabled(启用)。

#3


自己百度一下
设置下sql的注册表信息

#4


密码如果没有问题检查一下SQL Server是否打开了TCP选项

#5


引用 2 楼 wuyq11 的回复:
数据库中用户不存在或密码不正确,服务器是否开启
在安全性里看看用户
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证……


试试看如梦 的方法。

#6


11111111111111

#7


引用 1 楼 mayonglong 的回复:
密码错了,
都试过了..还是不行...

#8


引用 2 楼 wuyq11 的回复:
数据库中用户不存在或密码不正确,服务器是否开启
在安全性里看看用户
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证模……


不行啊....这个我之前弄了N遍了 `````还是一样的结果...郁闷啊

#9


你试试把密码去了看行不行

#10


兄弟标点符号错了吧values('" + this.txtClassName.Text + "')";,里面的单引号,检查一下

#11


设置完后重启一下服务,看行不?

#12


Connstr = "Provider=SQLOLEDB; Data Source=服务器名或者IP; UID=用户名; PWD=密码; Database=数据库名"

#13


去这里看看  http://www.dzs-net.com

#14


连接字符串  密码 注意看下

#15


未启动IIS服务 在控制面板的管理工具的服务内找

#16


用错误信息输出看下出错的原因咯
try
...
catch ex as exception
 MsgBox("连接失败,原因:" & ex.Message)
end try

#17


可以尝试用windows身份验证模式登录,因为装SQLSERVER时可能不是设置的混合登录模式

#18


如果sa密码正确,而且sa还给授权了
那就看这个server=localhost的localhost跟你的数据库名一样吗

#19


这是你的系统权限问题。我在window7装过,安装成功,不能登录。

#20


如果都不行 
 卸载重装 我以前也是 哪里都没有错就是不行 然后我sql重装了下就OK了

#21


先去确认 数据库名 密码是否正确 
再看下 SQL 里面sa账户是否启用 

#22


引用 17 楼 b87936260 的回复:
可以尝试用windows身份验证模式登录,因为装SQLSERVER时可能不是设置的混合登录模式


试试看吧,也许根本就无法通过SQL身份验证登陆

#23


认证方式对否,sql是否开了端口,防火墙端口没开?

#24


“localhost”是什么?不要想当然。

#25


引用 23 楼 hguchen 的回复:
认证方式对否,sql是否开了端口,防火墙端口没开?

这是本地服务器

#26


这种问题很简单的,一个一个去排除吧,8成是权限问题
把异常的消息贴上来看看先

#27


database 需要给定路径

#28


告诉你吧,,sql server 企业管理器登录,用刚才 的账号,密码,看看能登上不能,
另外你用的是VS吧,,随便找个数据控件,用控件自带的数据库连接导航连一下试试,,连接成功的话把连接字符串拷一下就好

#29


<add key="connectionString" value="Data Source=llw;Initial Catalog=JSTYWSJK2007;User ID=sa;Password=;"/>

#30


自己看吧
public static  SqlConnection GetConnection()
    {
        //if (int.Parse(System.DateTime.Now.Date.Month.ToString()) >=6)
            //return null;
        //if (int.Parse(System.DateTime.Now.Date.Year.ToString()) >= 2008)
            //return null; 

        //return new SqlConnection(connectionString = ConfigurationManager.AppSettings["connectionString"]);
        return  new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
               
    }
    public static int ExeNonQuery(String SqlText)
    {
        int count=0;
        try
        {
            SqlCommand myCommand = new SqlCommand(SqlText, GetConnection());
            myCommand.CommandType = CommandType.Text;

            myCommand.Connection.Open();
            count = myCommand.ExecuteNonQuery();
            myCommand.Connection.Close();
            
        }
        catch
        { 

        }
        return count;
    }

    public static SqlDataReader GetResultBySql(String sqltext)
    {

        
        SqlCommand myCommand = new SqlCommand(sqltext, GetConnection());
        myCommand.CommandType = CommandType.Text;
        myCommand.Connection.Open();
        SqlDataReader dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
        //myCommand.Connection.Close();
        return dr;
    }

    public static int GetDataReaderCount(String sqltext)
    {
        int count = 0;
        SqlCommand myCommand = new SqlCommand(sqltext, DataService.GetConnection());
        myCommand.CommandType = CommandType.Text;
        myCommand.Connection.Open();
        SqlDataReader dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
        while (dr.Read())
        {
            count = count + 1;

        };
        myCommand.Connection.Close();
        dr.Close();

        return count; 
    }

#31


引用 2 楼 wuyq11 的回复:
数据库中用户不存在或密码不正确,服务器是否开启
在安全性里看看用户
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证模……

正解

#32


引用 31 楼 hucailin 的回复:
引用 2 楼 wuyq11 的回复:
数据库中用户不存在或密码不正确,服务器是否开启
在安全性里看看用户
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authenticat……

#33


数据库中用户不存在或密码不正确,服务器是否开启
在安全性里看看用户
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证模式)
修改为Sql Server and Windows Authentication mode(Sql server和windows认证模式),ok。
打开security(安全性) -- logins(登录名) ,右键选中sa,选择properties(属性),点击Status(状态)切换到状态面板,将Login(登录)设置为Enabled(启用)。

#34


楼主,这个你确认不是PWD错误,或者DATABASE没有启动,还有问下,你有没有同时安装几个SQL版本?我服务器上就安装了2000和2005。

#35


是不是SQLExpress服务未开启??

#36


其实楼上的都分析对了。。。

#37


我遇到过的问题和你的一样,看看我怎么解决的吧
http://blog.csdn.net/masuwen/archive/2009/04/05/4050832.aspx

#39


这种问题最麻烦了```

#40


好像是没有启用sa账户
SQL打开企业管理器-->安全性-->登录名
双击sa
左边选择"状态"
右边选择"授权"和"启用"
试试吧

#41


   首先确认能成功打开数据库管理器,右击本地数据库选择“属性”,然后在弹出的面板中选择:“安全性”。
   选择  “SQL Server和Windows身份验证模式( S)”

#42


数据库连接问题,密码、用户名称、地址、链接库。

#43


你这问题应该你是的数据库的用sa没具备连接的功能,也就是说sa这个用户不能操作数据库。

方法: 你先用windows身份登录->安全性->sa->属性->重新修改密码->状态是否启用<否的话改为启用>

      配置文件->配置管理->网络配置->协议启动
 
             ...                     服务是否启动
       

#44


我把server=localhost设成server=127.0.0.1就可以..这是怎么回事啊??

#45


引用 44 楼 spr2372 的回复:
我把server=localhost设成server=127.0.0.1就可以..这是怎么回事啊??



知道也告诉我一下,

#46


引用 44 楼 spr2372 的回复:
我把server=localhost设成server=127.0.0.1就可以..这是怎么回事啊??

127.0.0.1是你本机IP吗?
如果是,把server=localhost设置成server=. 看行不行。

#47


sql server要改为混合登录才用用sa帐号

#48


引用 46 楼 w3c5201314 的回复:
引用 44 楼 spr2372 的回复:
我把server=localhost设成server=127.0.0.1就可以..这是怎么回事啊??

127.0.0.1是你本机IP吗?
如果是,把server=localhost设置成server=. 看行不行。

127.0.0.1是本地主机IP啊....
你说的方法试了下..不行..

各位高人指点下..为什么用服务器名称就不行呢?楼上的方法都试了..如果用服务器名的话都不行..只有用127.0.0.1就可以....

#49


你ping 下服务器名称,能ping过去么?
如果能ping 过去,说明 ip地址和服务器名都可以用的。

#50


引用 48 楼 spr2372 的回复:
引用 46 楼 w3c5201314 的回复:
引用 44 楼 spr2372 的回复:
我把server=localhost设成server=127.0.0.1就可以..这是怎么回事啊??

127.0.0.1是你本机IP吗?
如果是,把server=localhost设置成server=. 看行不行。

127.0.0.1是本地主机IP啊....
你说的方法试了下..不行..
……

你用的VS吗,可以测试下连接,然后把测试得到的连接字符串直接拷贝下来,是绝对没问题的。

#1


密码错了,

#2


数据库中用户不存在或密码不正确,服务器是否开启
在安全性里看看用户
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证模式)
修改为Sql Server and Windows Authentication mode(Sql server和windows认证模式),ok。
打开security(安全性) -- logins(登录名) ,右键选中sa,选择properties(属性),点击Status(状态)切换到状态面板,将Login(登录)设置为Enabled(启用)。

#3


自己百度一下
设置下sql的注册表信息

#4


密码如果没有问题检查一下SQL Server是否打开了TCP选项

#5


引用 2 楼 wuyq11 的回复:
数据库中用户不存在或密码不正确,服务器是否开启
在安全性里看看用户
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证……


试试看如梦 的方法。

#6


11111111111111

#7


引用 1 楼 mayonglong 的回复:
密码错了,
都试过了..还是不行...

#8


引用 2 楼 wuyq11 的回复:
数据库中用户不存在或密码不正确,服务器是否开启
在安全性里看看用户
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证模……


不行啊....这个我之前弄了N遍了 `````还是一样的结果...郁闷啊

#9


你试试把密码去了看行不行

#10


兄弟标点符号错了吧values('" + this.txtClassName.Text + "')";,里面的单引号,检查一下

#11


设置完后重启一下服务,看行不?

#12


Connstr = "Provider=SQLOLEDB; Data Source=服务器名或者IP; UID=用户名; PWD=密码; Database=数据库名"

#13


去这里看看  http://www.dzs-net.com

#14


连接字符串  密码 注意看下

#15


未启动IIS服务 在控制面板的管理工具的服务内找

#16


用错误信息输出看下出错的原因咯
try
...
catch ex as exception
 MsgBox("连接失败,原因:" & ex.Message)
end try

#17


可以尝试用windows身份验证模式登录,因为装SQLSERVER时可能不是设置的混合登录模式

#18


如果sa密码正确,而且sa还给授权了
那就看这个server=localhost的localhost跟你的数据库名一样吗

#19


这是你的系统权限问题。我在window7装过,安装成功,不能登录。

#20


如果都不行 
 卸载重装 我以前也是 哪里都没有错就是不行 然后我sql重装了下就OK了

#21


先去确认 数据库名 密码是否正确 
再看下 SQL 里面sa账户是否启用 

#22


引用 17 楼 b87936260 的回复:
可以尝试用windows身份验证模式登录,因为装SQLSERVER时可能不是设置的混合登录模式


试试看吧,也许根本就无法通过SQL身份验证登陆

#23


认证方式对否,sql是否开了端口,防火墙端口没开?

#24


“localhost”是什么?不要想当然。

#25


引用 23 楼 hguchen 的回复:
认证方式对否,sql是否开了端口,防火墙端口没开?

这是本地服务器

#26


这种问题很简单的,一个一个去排除吧,8成是权限问题
把异常的消息贴上来看看先

#27


database 需要给定路径

#28


告诉你吧,,sql server 企业管理器登录,用刚才 的账号,密码,看看能登上不能,
另外你用的是VS吧,,随便找个数据控件,用控件自带的数据库连接导航连一下试试,,连接成功的话把连接字符串拷一下就好

#29


<add key="connectionString" value="Data Source=llw;Initial Catalog=JSTYWSJK2007;User ID=sa;Password=;"/>

#30


自己看吧
public static  SqlConnection GetConnection()
    {
        //if (int.Parse(System.DateTime.Now.Date.Month.ToString()) >=6)
            //return null;
        //if (int.Parse(System.DateTime.Now.Date.Year.ToString()) >= 2008)
            //return null; 

        //return new SqlConnection(connectionString = ConfigurationManager.AppSettings["connectionString"]);
        return  new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
               
    }
    public static int ExeNonQuery(String SqlText)
    {
        int count=0;
        try
        {
            SqlCommand myCommand = new SqlCommand(SqlText, GetConnection());
            myCommand.CommandType = CommandType.Text;

            myCommand.Connection.Open();
            count = myCommand.ExecuteNonQuery();
            myCommand.Connection.Close();
            
        }
        catch
        { 

        }
        return count;
    }

    public static SqlDataReader GetResultBySql(String sqltext)
    {

        
        SqlCommand myCommand = new SqlCommand(sqltext, GetConnection());
        myCommand.CommandType = CommandType.Text;
        myCommand.Connection.Open();
        SqlDataReader dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
        //myCommand.Connection.Close();
        return dr;
    }

    public static int GetDataReaderCount(String sqltext)
    {
        int count = 0;
        SqlCommand myCommand = new SqlCommand(sqltext, DataService.GetConnection());
        myCommand.CommandType = CommandType.Text;
        myCommand.Connection.Open();
        SqlDataReader dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
        while (dr.Read())
        {
            count = count + 1;

        };
        myCommand.Connection.Close();
        dr.Close();

        return count; 
    }

#31


引用 2 楼 wuyq11 的回复:
数据库中用户不存在或密码不正确,服务器是否开启
在安全性里看看用户
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证模……

正解

#32


引用 31 楼 hucailin 的回复:
引用 2 楼 wuyq11 的回复:
数据库中用户不存在或密码不正确,服务器是否开启
在安全性里看看用户
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authenticat……

#33


数据库中用户不存在或密码不正确,服务器是否开启
在安全性里看看用户
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证模式)
修改为Sql Server and Windows Authentication mode(Sql server和windows认证模式),ok。
打开security(安全性) -- logins(登录名) ,右键选中sa,选择properties(属性),点击Status(状态)切换到状态面板,将Login(登录)设置为Enabled(启用)。

#34


楼主,这个你确认不是PWD错误,或者DATABASE没有启动,还有问下,你有没有同时安装几个SQL版本?我服务器上就安装了2000和2005。

#35


是不是SQLExpress服务未开启??

#36


其实楼上的都分析对了。。。

#37


我遇到过的问题和你的一样,看看我怎么解决的吧
http://blog.csdn.net/masuwen/archive/2009/04/05/4050832.aspx

#38


#39


这种问题最麻烦了```

#40


好像是没有启用sa账户
SQL打开企业管理器-->安全性-->登录名
双击sa
左边选择"状态"
右边选择"授权"和"启用"
试试吧

#41


   首先确认能成功打开数据库管理器,右击本地数据库选择“属性”,然后在弹出的面板中选择:“安全性”。
   选择  “SQL Server和Windows身份验证模式( S)”

#42


数据库连接问题,密码、用户名称、地址、链接库。

#43


你这问题应该你是的数据库的用sa没具备连接的功能,也就是说sa这个用户不能操作数据库。

方法: 你先用windows身份登录->安全性->sa->属性->重新修改密码->状态是否启用<否的话改为启用>

      配置文件->配置管理->网络配置->协议启动
 
             ...                     服务是否启动
       

#44


我把server=localhost设成server=127.0.0.1就可以..这是怎么回事啊??

#45


引用 44 楼 spr2372 的回复:
我把server=localhost设成server=127.0.0.1就可以..这是怎么回事啊??



知道也告诉我一下,

#46


引用 44 楼 spr2372 的回复:
我把server=localhost设成server=127.0.0.1就可以..这是怎么回事啊??

127.0.0.1是你本机IP吗?
如果是,把server=localhost设置成server=. 看行不行。

#47


sql server要改为混合登录才用用sa帐号

#48


引用 46 楼 w3c5201314 的回复:
引用 44 楼 spr2372 的回复:
我把server=localhost设成server=127.0.0.1就可以..这是怎么回事啊??

127.0.0.1是你本机IP吗?
如果是,把server=localhost设置成server=. 看行不行。

127.0.0.1是本地主机IP啊....
你说的方法试了下..不行..

各位高人指点下..为什么用服务器名称就不行呢?楼上的方法都试了..如果用服务器名的话都不行..只有用127.0.0.1就可以....

#49


你ping 下服务器名称,能ping过去么?
如果能ping 过去,说明 ip地址和服务器名都可以用的。

#50


引用 48 楼 spr2372 的回复:
引用 46 楼 w3c5201314 的回复:
引用 44 楼 spr2372 的回复:
我把server=localhost设成server=127.0.0.1就可以..这是怎么回事啊??

127.0.0.1是你本机IP吗?
如果是,把server=localhost设置成server=. 看行不行。

127.0.0.1是本地主机IP啊....
你说的方法试了下..不行..
……

你用的VS吗,可以测试下连接,然后把测试得到的连接字符串直接拷贝下来,是绝对没问题的。