33 lines
1.7 KiB
Java
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);
|
|
}
|
|
}
|
|
}
|
|
}
|