SQOOP-2990: Sqoop(oracle) export [updateTableToOracle] with "--update-mode allowinsert" : app fails with java.sql.SQLException: Missing IN or OUT parameter at index
(Sowmya Ramesh via Venkat Ranganathan)
diff --git a/src/java/org/apache/sqoop/mapreduce/OracleUpsertOutputFormat.java b/src/java/org/apache/sqoop/mapreduce/OracleUpsertOutputFormat.java
index f79aaa9..88754e7 100644
--- a/src/java/org/apache/sqoop/mapreduce/OracleUpsertOutputFormat.java
+++ b/src/java/org/apache/sqoop/mapreduce/OracleUpsertOutputFormat.java
@@ -71,7 +71,7 @@
// lookup table for update columns
Set<String> updateKeyLookup = new LinkedHashSet<String>();
for (String updateKey : updateCols) {
- updateKeyLookup.add(updateKey);
+ updateKeyLookup.add('"' + updateKey + '"');
}
StringBuilder sb = new StringBuilder();
@@ -85,7 +85,7 @@
} else {
sb.append(" AND ");
}
- sb.append(updateCols[i]).append(" = ?");
+ sb.append('"' + updateCols[i] + '"').append(" = ?");
}
sb.append(" )");