Я изменяю чужой Java-код, изучая Java, когда я иду. :-). Я пишу hsqldb TEXT-файлы, и мне бы хотелось, чтобы в окончательных файлах была строка заголовка, чтобы их легче было понять как простой текст. Для чтения таких файлов у hsqldb есть переключатель «ignore_first = true», но я не могу найти способ записи строки. Возможно, он не существует, но в документации есть SOAPCE HEADER. Кто-нибудь знает, как его использовать? Вот упрощенный пример того, что я пробовал:Вставка заголовков столбцов в текстовый файл hsqldb
String createtextTable =
"CREATE TEXT TABLE MolSet (" +
" id INT NOT NULL IDENTITY," +
" filename VARCHAR(300)," +
" expSolFilename VARCHAR(300)," +
" variance DOUBLE" + ");" ;
String headingsTable = "id,filename,expSolFilename, variance";
try
{
stmt = conn.createStatement();
stmt.execute(createtextTable);
setTableStmt = "SET TABLE " + “MolSet” + " SOURCE " +
'"' + TABLES[0] + ".csv;ignore_first=true" + '"';
stmt.execute(setTableStmt);
headingStmt = "SET TABLE " + “MolSet” + " SOURCE HEADER " +
'"' + headingsTable + '"';
stmt.execute(headingStmt);
}
catch(SQLException sqle)
{
return false;
}
return true;
}
это дает ошибку SQL: Недопустимая строка исходного текста таблицы в отчете [SET TABLE MolSet SOURCE HEADER]
Я надеюсь, что вы можете помочь, даже если это подтвердить, это невозможно. Спасибо, Джоселин
Спасибо, попробовал перейти на одинарные кавычки - получил то же сообщение об ошибке. В обсуждении на sourceforge.net/p/hsqldb/discussion/73674/thread/4a01f5f9, где кто-то задал аналогичный вопрос (без удовлетворительного ответа), ответы использовали двойные кавычки. Jocelyn – user3226246
Две недели с тех пор, как я спросил, и единственный ответ не соответствует действительности. Думаю, это означает, что это невозможно. Или, возможно, мне нужно установить последний hsqldb, а не тот, который был упакован с моей программой, но у него есть свои проблемы. – user3226246
Добавлена информация для ответа. – fredt