Когда я обновляю BLOB-объект в базе данных, DatabaseChangeNotification должен сработать, но этого не происходит.
Работает нормально с обычной строкой / varchar, но не работает с BLOB-объектами.Я пытаюсь, как показано ниже
OracleConnection conn = connect();
Properties prop = new Properties();
prop.setProperty(OracleConnection.DCN_NOTIFY_ROWIDS,"true");
prop.setProperty(OracleConnection.DCN_QUERY_CHANGE_NOTIFICATION,"true");
DatabaseChangeRegistration dcr = conn.registerDatabaseChangeNotification(prop);
try {
DCNDemoListener list = new DCNDemoListener(this);
dcr.addListener(list);
Statement stmt = conn.createStatement();
((OracleStatement) stmt).setDatabaseChangeRegistration(dcr);
ResultSet rs = stmt.executeQuery("select * from TEST_MODEL");
rs.close();
stmt.close();
stmt = conn.createStatement();
ResultSet rss = stmt.executeQuery("select TESTSUITE_NAME,TESTSUITE_DEFINITION from TESTSUITE_MODELS");
while (rss.next()) {
System.out.println(rss.getString("TESTSUITE_NAME"));
System.out.println(rss.getBlob("TESTSUITE_DEFINITION"));
}
rss.close();
stmt.close();
Может ли кто-нибудь помочь мне в этом?
Если я пытаюсь запросить таблицу, какой столбец conatian blob я получаю "ORA-29977: Неподдерживаемый тип столбца длярегистрация запроса в гарантированном режиме для blolb "исключение
ResultSet rss = stmt.executeQuery (" выберите TESTSUITE_NAME, TESTSUITE_DEFINITION из TESTSUITE_MODELS ");