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做数据库导入的时候主键就会丢失,得手工重设。
比如sqlserver做数据库导入的时候主键就会丢失,得手工重设。
#2
我是oracle 主键都重新建立了
#3
oracle
主键重新建立了。
使用sql语句在sqlplus中执行没有问题。程序在旧库上运行也没有问题,使用exp命令 和imp 做的
主键重新建立了。
使用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]
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做数据库导入的时候主键就会丢失,得手工重设。
比如sqlserver做数据库导入的时候主键就会丢失,得手工重设。
#2
我是oracle 主键都重新建立了
#3
oracle
主键重新建立了。
使用sql语句在sqlplus中执行没有问题。程序在旧库上运行也没有问题,使用exp命令 和imp 做的
主键重新建立了。
使用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]
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]