Java to ODBC Connection

You must have release 1.3 or later of the VTScada ODBC driver to connect from a Java® program.

The following Java code sample assumes that ODBC access has been configured on the same workstation, as described elsewhere in this chapter, that your application is available via a realm named "SQLServicesRealm", and that your application has a logged Analog Input tag named "ai1".

import java.sql.*;
public class VTScadaJdbcDemo {
  public static void main(String args[]) throws Exception {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection("jdbc:odbc:DRIVER=VTSODBC Driver;SERVER=127.0.0.1;PORT=80;REALM=SQLServicesRealm;");
    Statement stmt = con.createStatement();

    System.out.println("");
    System.out.println("All configured alarms:");
    ResultSet rs = stmt.executeQuery("SELECT * From :Alarms");
    while (rs.next()) {
      String name = rs.getString("Name");
      String pri = rs.getString("Priority");
      System.out.println(name + ": " + pri);
    }

    System.out.println("");
    System.out.println("All notes from SystemNotes:");
    ResultSet rs2 = stmt.executeQuery("SELECT * From SystemNotes");
    while (rs2.next()) {
      Timestamp time = rs2.getTimestamp("Timestamp");
      String value = rs2.getString("Value");
      System.out.println(time + ": " + value);
    }

    System.out.println("");
    System.out.println("All Security events from alarm history:");
    ResultSet rs3 = stmt.executeQuery("SELECT * From :AlarmHistory WHERE Area=\"Security\"");
    while (rs3.next()) {
      Timestamp time = rs3.getTimestamp("Timestamp");
      String message = rs3.getString("Message");
      System.out.println(time + ": " + message);
    }

    System.out.println("");
    System.out.println("Weekly interpolated values for ai1 for November 2006:");
    ResultSet rs4 = stmt.executeQuery("SELECT * FROM ai1:1W where Timestamp > '2006-11-01 0:00:00' and   Timestamp < '2006-12-01 0:00:00'");
    while (rs4.next()) {
      Timestamp time = rs4.getTimestamp("Timestamp");
      Double message = rs4.getDouble("Value:Interpolated");
      System.out.println(time + ": " + message);
    }

    con.close();
  }
}