Tcp H2数据库函数别名访问另一个函数

Tcp H2数据库函数别名访问另一个函数,tcp,alias,h2,Tcp,Alias,H2,问题是,在通过TCP运行服务器并创建别名函数SLIDEWINDOW之后 对于类时间范围,我调用别名slidewindow。但是在这个函数中,我必须查询表(任何表)以获得一些必要的信息。当我再次连接时,服务器和应用程序挂起 代码: 如果我想访问从SLIDEWINDOW读取表函数,该怎么办 public static void slideWindow(String ip){ ... Connection conn = DriverManager.getConnection ("j

问题是,在通过TCP运行服务器并创建别名函数SLIDEWINDOW之后 对于类时间范围,我调用别名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 ");
     ... 
} 
问题1。我可以用alias来做吗


问题2。当我从H2服务器web控制台或java应用程序调用别名“SELECT SLIDEWINDOW('127.0.0.1')时,应用程序挂起。对于别名,java函数的第一个参数可以是“连接”,它将处理程序传递给已建立的连接

Q1。我可以从alias执行此操作吗?

我不应该再次从Alias建立到数据库的连接

Q2。当我从H2服务器web控制台或java应用程序调用别名“SELECT SLIDEWINDOW('127.0.0.1')时,应用程序挂起?

我通过将“连接”作为第一个参数来解决这个问题,其余的都和以前一样。像

public static void slideWindow(Connection conn, 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 ");
 ... 

}

事实证明。对于别名,java函数的第一个参数可以是“连接”,它将处理程序传递给已建立的连接

Q1。我可以从alias执行此操作吗?

我不应该再次从Alias建立到数据库的连接

Q2。当我从H2服务器web控制台或java应用程序调用别名“SELECT SLIDEWINDOW('127.0.0.1')时,应用程序挂起?

我通过将“连接”作为第一个参数来解决这个问题,其余的都和以前一样。像

public static void slideWindow(Connection conn, 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 ");
 ... 

}

另一种解决方案是在函数内部使用特殊的JDBC URL
JDBC:default:connection
,意思是
connection conn=DriverManager.getConnection(“JDBC:default:connection”)
另一种解决方案是在函数内部使用特殊的JDBC URL
JDBC:default:connection
,意思是
connection conn=DriverManager.getConnection(“JDBC:default:connection”)