用户“sa”登陆失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户“sa”登陆失败相关的知识,希望对你有一定的参考价值。

哪位高手给我看看到底什么毛病

“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

用户 'sa' 登录失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Exception: 用户 'sa' 登录失败。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

[Exception: 用户 'sa' 登录失败。]
Yeaka.CMS.SqlServerDAL.DbHelper.GetSingle(String SQLString) +356
Yeaka.CMS.SqlServerDAL.Db.GetSingle(String SQLString) +33
Yeaka.CMS.BLL.Db.GetSingle(String SQLString) in E:\x\Projects\PartyTime\Sources\Yeaka.CMS.BLL\Db.cs:33
Yeaka.CMS.UI.Trophy.Page_Load(Object sender, EventArgs e) +275
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436

--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.1433; ASP.NET 版本:2.0.50727.1433

下面是我的配置文件
<?xml version="1.0"?>
<configuration>
<appSettings>
<!--
[DbProvider]
数据库提供者
默认是Sql Server 数据库 “CVCommunity.Provider.SqlDbFactory, CVCommunity.Provider”
[cnVery.Library.SqlDbFactory] 是工厂类全称
[cnVery.Library] 是工厂类所在的程序集

如果是Access 数据库,则该值为“CVCommunity.Provider.OleDbFactory, CVCommunity.Provider”;
+

第三方开发者也可以开发适用于特定数据库的程序工厂类,如 Oracle。
假设工厂类的名称为 CVCommunity.Plus.OracleDbFactory(该类必须继承抽象类 DbFactory),
所在的程序集为 CVCommunity.Plus,则该值为“CVCommunity.Plus.OracleDbFactory, CVCommunity.Plus”
-->
<add key="DbProvider" value="CVCommunity.Provider.SqlDbFactory, CVCommunity.Provider" />
<!--
[DbLink]
数据库的连接设置
可以是Access的路径,也可以是MSSQL的连接字符串,程序会自动辨别它们
Access路径允许相对路径、绝对路径或物理路径
用.ascx作为Access数据库后缀名可以防止数据库被下载
例:
//data/db.ascx
e:\webs\bbs\data\db.ascx
Data Source=(local); database=28times; UID=28times; Password=28times28times;
注:
MSSQL连接字符串用于SqlClient而非OleDb,请按照上述例子.

+
Oracle 数据库的连接字符串
Data Source=OracleService; User Id=oracle; Password=oracle;
OracleService: Oracle 服务名称
User: 用户名
Password: 密码
-->
<add key="DbLink" value="Data Source=(local); Database=28times; UID=sa; Password=;" />
<!--
[DAL]
数据库访问层的程序集名称
本程序支持两种数据库类型。
如果使用的是 Microsoft Sql Server, 则该值为 “CVCommunity.SqlServer”。
如果为 Microsoft Office Access, 则该值为 “CVCommunity.Access”。
程序是别人给我的,我不知道密码啊
916883140 这段代码用哪里啊,我有点菜,能详细点吗

参考技术A Password=;" />
这点的密码是你自己设置的,也就是“sa”的密码。当然你也可以重新建立一个数据库登陆用户,那样更安全,因为“sa”是属于超级管理员组,那样你的站黑容易被黑!
参考技术B 数据库的用户名和密码 出现问题了
<add key="DbLink" value="Data Source=(local); Database=28times; UID=sa; Password=;" />

Password= 是你的密码本回答被提问者采纳
参考技术C protected void Button1_Click(object sender, EventArgs e)


SqlConnection conn = new SqlConnection(("user id=sa;data source=SONG;password=sa");;

try


conn.Open();
Label1.Text = "ok";

catch(Exception e)

MessageBox.Show(e.Message);


finally


conn.Close();

conn.Dispose();

参考技术D s

java 控制台输出sa登陆失败啥原因?

控制台输出
严重: Servlet.service() for servlet action threw exception
com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'sa' 登录失败。
是什么原因啊?请电脑高手给解决一下 谢谢

jdbc的链接数据库有问题,检查一下jdbc的驱动配置是不是有错误!
MySQL

Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://host:port/database","user","password");

Oracle数据库(thin模式)

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@host:port:databse","user","password");

Timesten数据库(thin模式)

Class.forName("com.timesten.jdbc.TimesTenDriver");
Connection con = DriverManager.getConnection("jdbc:timesten:client:dsn=dsnname")

Microsoft SQL Server
Class.forName("net.sourceforge.jtds.jdbc.Driver ");
Connection con = DriverManager.getConnection("jdbc:jtds:sqlserver://host:port/database","user","password");
or
Connection con = DriverManager.getConnection("jdbc:jtds:sybase://host:port/database","user","password");

DB2
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ");
Connection conn= DriverManager.getConnection("jdbc:db2://localhost:5000/sample",user,password);

Firebird
Class.forName("org.firebirdsql.jdbc.FBDriver");
Connection con = DriverManager.getConnection("jdbc:firebirdsql://host:port/fdb_file_path","user","password");

PointBase(Server)
Class.forName("com.pointbase.jdbc.jdbcUniversalDriver");
Connection con = DriverManager.getConnection("jdbc:pointbase:server://host:port/databasename","user","password");

HSQLDB(Server)
Class.forName("org.hsqldb.jdbcDriver");
Connection con = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:port/mydb","user","password");

Derby
这个少有人听说吧,cloudscape 应该听说过吧,该项目由此衍生
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection con = DriverManager.getConnection("jdbc:derby://host:port//mydb","user","password");

Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection conn = DriverManager.getConnection("jdbc:derby:mynewDB", p);

cloudscape
Class.forName("com.cloudscape.core.JDBCDriver");
Connection conn = DriverManager.getConnection("jdbc:cloudscape:<DB>");

Class.forName("com.cloudscape.rmiJdbc.RJDriver");
Connection conn = DriverManager.getConnection("jdbc:rmi://<HOST>:<PORT>/jdbc:cloudscape:<DB>", user, passoword);

Postgresql
Class.forName("org.postgresql.Driver");
Connection con=DriverManager.getConnection("jdbc:postgresql://host:port/database","user","password");

Informix
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
Connection con=DriverManager.getConnection("jdbc:informix-sqli://host:port/myDB:INFORMIXSERVER=myserver","user","password");

Access
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
Connection con=DriverManager.getConnection("jdbc:odbc:Driver=MicroSoft Access Driver (*.mdb);DBQ=mdb的文件路径","user","password");

Sybase
Class.forName("com.sybase.jdbc2.jdbc.SybDriver").newInstance();
Connection con=DriverManager.getConnection("jdbc:sybase:Tds:host:port?ServiceName=databasename","user","password");
参考技术A 看看你的sa用户密码对不对,你用的是SQL Server,就先打开SQL Server,然后用程序中所写的sa用户的密码登录下,看对不对,如果平时不输入密码,哪密码肯定是空,但是password地方不能省略。如果非空,哪就改成当前sa的密码。
或者登录SQL Server里面之后,在安全里面找到sa用户,改成程序中的密码就OK啦。本回答被提问者采纳
参考技术B 你的DB类的这样写就OK 带有创建和关闭方法
private String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private String URL="jdbc:sqlserver://localhost:1433;databaseName="这里写上数据库名称";
private Connection connection;
public Connection openConnection() throws SQLException, ClassNotFoundException
if(this.connection==null || this.connection.isClosed())
Class.forName(DRIVER);
this.connection = DriverManager.getConnection(URL,"这里写上数据库登录名字","这里写上数据库登录密码");

return this.connection;

public void closeConnection()
try
if(this.connection != null && ! this.connection.isClosed())
this.connection.close();

catch (Exception e)
// TODO Auto-generated catch block
e.printStackTrace();
finally
this.connection = null;



所以你的错误应该是数据库登录名字错了只要改下就OK
参考技术C 把你数据库中sa的密码修改成和你程序中数据库访问类的密码一致 参考技术D 只有两种情况

1 数据库服务没开启

2 账号密码错误

以上是关于用户“sa”登陆失败的主要内容,如果未能解决你的问题,请参考以下文章

SqlServer sa 用户登录失败的解决方法

iis部署sa登录失败

SQL2008无法连接到(local),该账户当前被锁定,所以Sa用户登陆失败

java 控制台输出sa登陆失败啥原因?

服务器:消息18456,级别16,状态1 用户‘sa’登录失败解决方法

sql server2005新创建的登录名无法登陆