做了一次数据库迁移,报错,invalid identifier ,重新连接就库正常

时间:2023-02-05 05:43:07
高手帮忙
STRUTS + SPRING + IBATIS

sqlmap 是 abator 生成,迁移一次库,其他没有做任何事情,在spring中配置数库地址。改成新库就报错,改成老库就没问题,重新建表问题依然存在!



org.springframework.jdbc.BadSqlGrammarException: SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in com/together/sys/persistence/ICAPP_SqlMap.xml. --- The error occurred while applying a parameter map. --- Check the gcrm_T_PMS_ICAPP.abatorgenerated_insert-InlineParameterMap. --- Check the statement (update failed). --- Cause: java.sql.SQLException: ORA-00904: "ICA_DEL_FLAG": invalid identifier 

4 个解决方案

#1


看看数据库复制时主键设定是不是也都实现了。

比如sqlserver做数据库导入的时候主键就会丢失,得手工重设。

#2


我是oracle  主键都重新建立了

#3


oracle 
主键重新建立了。
使用sql语句在sqlplus中执行没有问题。程序在旧库上运行也没有问题,使用exp命令 和imp 做的

#4


[/code]
  public static String getConditionCategory(String categoryIds){
     try{
     StringBuffer sb = new StringBuffer();
     categoryIds = categoryIds.trim();
     if(categoryIds.startsWith(",")){
     categoryIds = categoryIds.substring(1,categoryIds.length());
     }
     String[] categoryIdList = categoryIds.split(",");
     for(int i=0;i<categoryIdList.length;i++){
     if(!"".equals(categoryIdList[i].trim())){
     if(i==0){
             sb.append("( ");
             sb.append("i.category_id = '"+categoryIdList[i]+"'");
     }else{
     sb.append(" or ");
             sb.append("i.category_id = '"+categoryIdList[i]+"'");
     }
     sb.append(")");
     }
     }
     return sb.toString();
     }catch (Exception e) {
e.printStackTrace();
     return "";
}
    }
[/code]

#1


看看数据库复制时主键设定是不是也都实现了。

比如sqlserver做数据库导入的时候主键就会丢失,得手工重设。

#2


我是oracle  主键都重新建立了

#3


oracle 
主键重新建立了。
使用sql语句在sqlplus中执行没有问题。程序在旧库上运行也没有问题,使用exp命令 和imp 做的

#4


[/code]
  public static String getConditionCategory(String categoryIds){
     try{
     StringBuffer sb = new StringBuffer();
     categoryIds = categoryIds.trim();
     if(categoryIds.startsWith(",")){
     categoryIds = categoryIds.substring(1,categoryIds.length());
     }
     String[] categoryIdList = categoryIds.split(",");
     for(int i=0;i<categoryIdList.length;i++){
     if(!"".equals(categoryIdList[i].trim())){
     if(i==0){
             sb.append("( ");
             sb.append("i.category_id = '"+categoryIdList[i]+"'");
     }else{
     sb.append(" or ");
             sb.append("i.category_id = '"+categoryIdList[i]+"'");
     }
     sb.append(")");
     }
     }
     return sb.toString();
     }catch (Exception e) {
e.printStackTrace();
     return "";
}
    }
[/code]