diff --git a/pom.xml b/pom.xml
index 8b5616f..f986dda 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.github.clagomess
mod-plsql
- 1.0.1
+ 1.0.2
9.4.19.v20190610
diff --git a/src/main/java/com/github/clagomess/modplsql/jdbc/Database.java b/src/main/java/com/github/clagomess/modplsql/jdbc/Database.java
index 9ced5d4..ea711c4 100644
--- a/src/main/java/com/github/clagomess/modplsql/jdbc/Database.java
+++ b/src/main/java/com/github/clagomess/modplsql/jdbc/Database.java
@@ -32,6 +32,8 @@ public static void init(ConfigDto dto) throws SQLException {
}
public static String runPl(String plName, Map param) throws SQLException {
+ int idx;
+
// fill parans
param.putAll(configDto.getParamsAsMap());
@@ -45,10 +47,10 @@ public static String runPl(String plName, Map param) throws SQLE
sql.append(String.format(" NUM_ENTRIES := %s;\n", param.size()));
- int idx = 1;
+ idx = 1;
for (Map.Entry entry : param.entrySet()) {
- sql.append(String.format(" NAME_ARRAY(%s) := '%s';\n", idx, entry.getKey()));
- sql.append(String.format(" VALUE_ARRAY(%s) := '%s';\n", idx, escape(entry.getValue())));
+ sql.append(String.format(" NAME_ARRAY(%s) := ?; -- '%s'\n", idx, entry.getKey()));
+ sql.append(String.format(" VALUE_ARRAY(%s) := ?; -- '%s'\n", idx, escape(entry.getValue())));
idx++;
}
@@ -63,9 +65,17 @@ public static String runPl(String plName, Map param) throws SQLE
log.info("QUERY:\n{}", sql.toString());
- stmt.executeUpdate(sql.toString());
+ PreparedStatement pstmt = conn.prepareStatement(sql.toString());
+ idx = 1;
+ for (Map.Entry entry : param.entrySet()) {
+ pstmt.setString(idx, entry.getKey());
+ idx++;
+ pstmt.setString(idx, entry.getValue());
+ idx++;
+ }
+
+ pstmt.execute();
- log.info("GET RESULT");
return getResult();
}