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