2010-09-29 33 views
1

Derby文檔syscs_util.syscs_backup_database。Spring JDBC與Derby存儲過程

我做了如下瑣碎類:

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); 

    } 
} 

並以下列指示春天JDBC 3.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] 

回答

0

儘管出現錯誤消息提示添加.withCatalog,但解決方法是使用.chema,而不是。