Skip to content

Commit

Permalink
0003152: org.jumpmind.db.sql.SqlException: JZ0NK: Generated keys are not
Browse files Browse the repository at this point in the history
available because either the Statement.NO_GENERATED_KEYS was use
  • Loading branch information
chenson42 committed Jul 5, 2017
1 parent e090206 commit d1b5798
Showing 1 changed file with 13 additions and 1 deletion.
Expand Up @@ -23,6 +23,7 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Arrays;
Expand All @@ -44,13 +45,24 @@ public class SybaseJdbcSqlTemplate extends JdbcSqlTemplate implements ISqlTempla
static final Logger log = LoggerFactory.getLogger(SybaseJdbcSqlTemplate.class);

private NativeJdbcExtractor nativeJdbcExtractor;

int jdbcMajorVersion;

public SybaseJdbcSqlTemplate(DataSource dataSource, SqlTemplateSettings settings,
SymmetricLobHandler lobHandler, DatabaseInfo databaseInfo, NativeJdbcExtractor nativeJdbcExtractor) {
super(dataSource, settings, lobHandler, databaseInfo);
this.nativeJdbcExtractor = nativeJdbcExtractor;
primaryKeyViolationCodes = new int[] {423,511,515,530,547,2601,2615,2714};
foreignKeyViolationCodes = new int[] {546};
Connection c = null;
try {
c = dataSource.getConnection();
jdbcMajorVersion = c.getMetaData().getJDBCMajorVersion();
} catch (SQLException ex) {
jdbcMajorVersion = -1;
} finally {
close(c);
}
}

@Override
Expand Down Expand Up @@ -135,7 +147,7 @@ public void setValues(PreparedStatement ps, Object[] args)
}

public boolean supportsGetGeneratedKeys() {
return false;
return jdbcMajorVersion >= 4;
}

protected String getSelectLastInsertIdSql(String sequenceName) {
Expand Down

0 comments on commit d1b5798

Please sign in to comment.