Derbyはsyscs_util.syscs_backup_databaseを文書化します。
私は次の些細なクラスを作りました:
public class DerbyMemoryDatabaseDumpDao extends JdbcDaoSupport {
private SimpleJdbcCall caller;
@PostConstruct
public void initialize() {
caller = new SimpleJdbcCall(getDataSource()).withCatalogName("SYSCS_UTIL")
.withProcedureName("SYSCS_BACKUP_DATABASE");
}
public void dumpDatabase(String whereTo) {
SqlParameterSource in = new MapSqlParameterSource().addValue("BACKUPDIR", whereTo);
caller.execute(in);
}
}
そして、SpringJDBC3.0.4が状況を理解できていないという次の兆候が報われました。ポジショナルの使い方がわかりませんか?この目的のために、またはパラメーターを呼び出しにハードコーディングするためにさえ(私はその表面をかろうじて引っかいただけですが)。
2258 [main] DEBUG org.springframework.jdbc.core.metadata.CallMetaDataProviderFactory - Using org.springframework.jdbc.core.metadata.DerbyCallMetaDataProvider
2258 [main] DEBUG org.springframework.jdbc.core.metadata.CallMetaDataProvider - Retrieving metadata for null/SA/SYSCS_BACKUP_DATABASE
2862 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Returning JDBC Connection to DataSource
2863 [main] DEBUG org.springframework.jdbc.core.simple.SimpleJdbcCall - Compiled stored procedure. Call string is [{call SYSCS_UTIL.SYSCS_BACKUP_DATABASE()}]
2863 [main] DEBUG org.springframework.jdbc.core.simple.SimpleJdbcCall - SqlCall for procedure [SYSCS_BACKUP_DATABASE] compiled
2864 [main] DEBUG org.springframework.jdbc.core.metadata.CallMetaDataContext - Matching [BACKUPDIR] with []
2864 [main] DEBUG org.springframework.jdbc.core.metadata.CallMetaDataContext - Found match for []
2865 [main] DEBUG org.springframework.jdbc.core.simple.SimpleJdbcCall - The following parameters are used for call {call SYSCS_UTIL.SYSCS_BACKUP_DATABASE()} with: {}
2866 [main] DEBUG org.springframework.jdbc.core.JdbcTemplate - Calling stored procedure [{call SYSCS_UTIL.SYSCS_BACKUP_DATABASE()}]
2866 [main] DEBUG org.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
2866 [main] DEBUG org.springframework.jdbc.datasource.SimpleDriverDataSource - Creating new JDBC Driver Connection to [jdbc:derby:memory:testdb;create=true]