Files
workspace/code/fms/.tmp-fkcheck/RefreshViews.java
T
2026-08-21 23:06:56 +08:00

33 lines
1.7 KiB
Java

import java.io.FileInputStream;
import java.sql.*;
import java.util.Properties;
public class RefreshViews {
public static void main(String[] args) throws Exception {
Properties props = new Properties();
try (FileInputStream in = new FileInputStream(args[0])) { props.load(in); }
try (Connection conn = DriverManager.getConnection(props.getProperty("url"), props.getProperty("username"), props.getProperty("password"))) {
for (String v : new String[]{"v_s_log_login", "v_s_log_technical", "v_s_log_audit", "v_b_user"}) {
try (Statement st = conn.createStatement()) {
st.execute("EXEC sp_refreshview 'dbo." + v + "'");
System.out.println("REFRESHED: " + v);
} catch (SQLException e) {
System.out.println("WARN: " + v + " -> " + e.getMessage());
}
}
// verify all views queryable
for (String v : new String[]{"v_s_log_login", "v_s_log_technical", "v_s_log_audit", "v_b_user"}) {
try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("SELECT TOP 1 1 FROM " + v)) {
System.out.println("VIEW OK: " + v);
}
}
// verify s_log_login current columns
try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(
"SELECT c.name FROM sys.columns c WHERE c.object_id=OBJECT_ID('s_log_login') ORDER BY c.column_id")) {
StringBuilder sb = new StringBuilder("s_log_login cols: ");
while (rs.next()) sb.append(rs.getString(1)).append(" ");
System.out.println(sb);
}
}
}
}