在修改用户密码的时候总是不能正确修改,在登陆时出现提示18456
很明显,是密码出错问题,那么该如何正确修改密码,并有效呢?
首先windows身份验证登陆,选择需要修改的用户的属性
比如这里的sa用户,注意强制实施密码策略很多时候是会修改失败,建议不勾选
状态栏这里登录名要启动,授予连接到数据库引擎,然后点击确定即可
接下来选择服务器属性,这里要勾选SQL Server身份验证模式,然后点击确定
然后选择重新启动即可
测试代码如下
当然,这个是使用jdbc来引包的,这个步骤本文没有提及,自己可以先去解决,其实很简单,只需要构建路径,添加外部归档,选择对应的jar文件即可
package a;
import java.sql.*;
public class JavaDB {
public static void main(String[] args) {
String JDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";// SQL数据库引擎
String connectDB = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=jxgl";//数据库名字更改为你自己的数据库名字!!!!!
try {
Class.forName(JDriver);// 加载数据库引擎,返回给定字符串名的类
} catch (ClassNotFoundException e) {
// e.printStackTrace();
System.out.println("加载数据库引擎失败");
System.exit(0);
}
System.out.println("数据库驱动成功");
try {
String user = "zxc";// 你自己创建的用户名字和密码!!!!!!!!!!!!
String password = "123";
Connection con = DriverManager.getConnection(connectDB,user,password);// 连接数据库对象
System.out.println("连接数据库成功");
Statement stmt = con.createStatement();// 创建SQL命令对象
System.out.println("查询");
System.out.println("开始读取数据");
ResultSet rs = stmt.executeQuery("select * from sc ");// 返回SQL语句查询结果集(集合)
// 循环输出每一条记录
System.out.println("课程号"+ "\t"
+ "学号"+"\t"+"成绩");
while (rs.next()) {
// 输出每个字段
System.out.println(rs.getString("cno") + "\t"
+ rs.getString("sno")+"\t"+rs.getString("grade"));
}
System.out.println("读取完毕");
// 关闭连接
stmt.close();// 关闭命令对象连接
con.close();// 关闭数据库连接
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接错误");
System.exit(0);
}
}
}
错误总结:
错误地点26或者27行
原因是SQL语句出错,例如找不到对应的数据库,或者对应表格,或者对应列,此错误修改自己的SQL语句即可
错误地点20或者21行
此错误原因是用户名或者密码不正确,找不到对应的账号密码,此错误可以在SQL Management上自行验证,自己去修改密码,尝试在SQL Management上登陆试试,无法修改看上文解决
若数据库连接失败,可能是本地的管理工具或者什么地方没有设置好,打开对应的服务即可