Я не знаю, правильный ли это метод, но когда я сталкивался с такой же проблемой в прошлом, я решил ее следующим образом:
Я запустил этот запрос, чтобы найти количество столбцов в таблице
SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_catalog = 'database_name' AND table_name = 'table_name'
Затем создал динамический SQL-запрос, основанный на количестве столбцов:
String sql = "Insert into tablename values(";
for(int i = 1;i<=columns;i++){
sql += "?";
if (i < columns) {
sql += ", ";
}
}
sql+=");";
Затем запустил подготовленный оператор
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
Если вы также не знаете ограниченийи тип данных столбцов, попробуйте выполнить синтаксический анализ
desc tablename
Я знаю, что это, должно быть, самый дерьмовый обходной путь, но он сработал для меня;)