问题是,在通过 TCP 运行服务器并为课程时间范围创建别名函数 SLIDEWINDOW 之后,我调用别名幻灯片窗口。但是在这个函数中,我必须查询表(任何表)以获取一些必要的信息。当我再次连接时,服务器和应用程序挂起。
代码:
public class TimeFrame {
public static void main(String... args) throws Exception {
Class.forName("org.h2.Driver");
Connection conn = DriverManager.getConnection("jdbc:h2:tcp://MYIP:9092/~/test", "sa", "");
Statement stat = conn.createStatement();
//Setup Table
stat.execute("DROP TABLE IF EXISTS timeframe");
stat.execute("CREATE TABLE timeframe (last_updated TIMESTAMP, ip int");
stat.execute("CREATE ALIAS IF NOT EXISTS SLIDEWINDOW FOR \"h2TimeFrame.TimeFrame.slidewindow\" ");
}
}
如果我想从 SLIDEWINDOW 函数中访问读取表怎么办?
public static void slideWindow(String ip){
...
Connection conn = DriverManager.getConnection ("jdbc:h2:tcp://MYIP:9092/~/test", "sa", "");
Statement stat = conn.createStatement();
res = stat.executeQuery("SELECT * FROM timeframe where ip = '" + ips + "' limit 1 ");
...
}
Q1。我可以通过别名做到这一点吗?
Q2。当我从 H2 服务器 Web 控制台或 Java 应用程序调用别名“SELECT SLIDEWINDOW('127.0.0.1')”时,应用程序挂起?