在修改用戶密碼的時候總是不能正確修改,在登陸時出現提示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上登陸試試,無法修改看上文解決
若數據庫連接失敗,可能是本地的管理工具或者什么地方沒有設置好,打開對應的服務即可
