Мы развернули узлы и опубликовали транзакцию от одного узла к другому, используя corda, и это же было сохранено в базе данных h2 в таблице "NODE_TRANSACTIONS".Столбец TRANSACTION_VALUE в таблице NODE_TRANSACTIONS имеет тип данных BLOB.
Пожалуйста, предложите, как извлечь данные из этого столбца в удобочитаемом формате
Мы пытались извлечь данные, используя resultset.getBinaryStream
в Java, ноне уверен в поддерживаемом типе файла, в котором он должен быть прочитан.Пробовал с типами файлов image / txt / pdf и т. Д., Но ни один из файлов не был в читаемом формате.
static String url = "jdbc:h2:tcp://localhost:12345/node";
static String username = "sa";
static String password = "";
Class.forName("oracle.h2.Driver");
Connection conn = DriverManager.getConnection(url, username, password);
System.out.println("getting connection: " + conn);
String sql = "SELECT TX_ID, TRANSACTION_VALUE FROM NODE_TRANSACTIONS where rownum<2";
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
InputStream data=rs.getBinaryStream(2);
File file = new File("D:\\blob.txt");
FileOutputStream fos = new FileOutputStream(file);
byte[] buffer = new byte[1];
while (data.read(buffer) > 0) {
fos.write(buffer);
}
fos.close();
}
conn.close();
Также, пожалуйста, предложите любой другой способ прочитать данные столбца, используя функции базы данных h2 (или) функции оракула
Я ожидаю, что вывод будет в читаемом формате