1 つのフィールドに 100 文字を超える 1 つの要求に対してストアド プロシージャを呼び出していますが、フィールド サイズが 100 であるため失敗し、その特定のフィールドの 100 文字ごとに要求を分割する方法を教えてください。その特定のフィールドの最大サイズは 100 で、そのフィールドに 250 文字を渡す場合、100 文字ごとに呼び出しを分割する必要があります。
参考までに、DB から値を読み取るだけで DB に何も更新しません。
1 つのフィールドに 100 文字を超える 1 つの要求に対してストアド プロシージャを呼び出していますが、フィールド サイズが 100 であるため失敗し、その特定のフィールドの 100 文字ごとに要求を分割する方法を教えてください。その特定のフィールドの最大サイズは 100 で、そのフィールドに 250 文字を渡す場合、100 文字ごとに呼び出しを分割する必要があります。
参考までに、DB から値を読み取るだけで DB に何も更新しません。
これを試して:
// longStr is your long string
String substring = null;
PreparedStatement prepped = connection.prepareeStatement("call someProc(?)", ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
int maxLoop = longStr.length() / 100;
for (int i = 0; i < maxLoop; i++) {
substring = longStr.substring(100 * i, 100 * (i + 1));
prepped.setString(1, substring);
ResultSet result = prepped.executeQuery();
}
if (longStr.length() % 100 != 0) {
substring = longStr.substring(maxLoop * 100);
prepped.setString(1, substring);
ResultSet result = prepped.executeQuery();
}