forked from p81075629/datagear
SQL工作台:解决因没有明确指定JDBC的Statement参数,导致在Oracle下查询报错的BUG
This commit is contained in:
parent
a967362c1f
commit
fbce2dfe92
|
@ -51,7 +51,7 @@ public class ModelSqlSelectService extends AbstractModelDataAccessObject
|
|||
ResultSet rs = null;
|
||||
try
|
||||
{
|
||||
st = cn.createStatement();
|
||||
st = createStatement(cn);
|
||||
rs = st.executeQuery(sql);
|
||||
|
||||
Model model = databaseModelResolver.resolve(cn, rs, UUID.gen());
|
||||
|
@ -83,7 +83,7 @@ public class ModelSqlSelectService extends AbstractModelDataAccessObject
|
|||
ResultSet rs = null;
|
||||
try
|
||||
{
|
||||
st = cn.createStatement();
|
||||
st = createStatement(cn);
|
||||
rs = st.executeQuery(sql);
|
||||
|
||||
return select(cn, sql, rs, model, startRow, fetchSize);
|
||||
|
@ -156,6 +156,23 @@ public class ModelSqlSelectService extends AbstractModelDataAccessObject
|
|||
return modelSqlResult;
|
||||
}
|
||||
|
||||
protected Statement createStatement(Connection cn) throws SQLException
|
||||
{
|
||||
return createScrollableSelectStatement(cn);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建用于可定位查询的{@linkplain Statement}。
|
||||
*
|
||||
* @param cn
|
||||
* @return
|
||||
* @throws SQLException
|
||||
*/
|
||||
public static Statement createScrollableSelectStatement(Connection cn) throws SQLException
|
||||
{
|
||||
return cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
|
||||
}
|
||||
|
||||
/**
|
||||
* 模型查询结果。
|
||||
*
|
||||
|
|
|
@ -432,7 +432,7 @@ public class SqlpadExecutionService
|
|||
{
|
||||
cn = getSchemaConnection(this.schema);
|
||||
cn.setAutoCommit(false);
|
||||
st = cn.createStatement();
|
||||
st = createStatement(cn);
|
||||
}
|
||||
catch (Throwable t)
|
||||
{
|
||||
|
@ -718,6 +718,11 @@ public class SqlpadExecutionService
|
|||
getMessage(this.locale, messageKey, messageArgs));
|
||||
}
|
||||
|
||||
protected Statement createStatement(Connection cn) throws SQLException
|
||||
{
|
||||
return ModelSqlSelectService.createScrollableSelectStatement(cn);
|
||||
}
|
||||
|
||||
/**
|
||||
* 睡眠等待SQL命令。
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue