Chciałbym napisać funkcję java, która pobiera zapytanie SQL i zwraca ResultSet do przetwarzania w innym miejscu. Nie można tego zrobić, gdy ResultSet nie działa, gdy połączenie zostanie zamknięte.CachedRowSet: czy nadal może być używany do przechowywania danych ResultSet?
Googling I znalazłem VERY OLD (2004) OReilly article, który miał coś, co wyglądało jak lekarstwo: CachedRowSet. Po prostu wstawiasz ResultSet, CachedRowSet zapisuje dane, pozwala zamknąć połączenie i odtwarzać dane w innym miejscu przy użyciu zwróconego CachedRowSet.
Artykuł odwołuje się do implementacji CachedRowSet firmy Sun, które wydają się być nigdzie nie można znaleźć.
Nowoczesne javadocs (dla Java 1.5 i nowsze) wydają się mieć coś o tej samej nazwie, "CachedRowSet", która jest czymś więcej niż tylko posiadaczem danych ResultSet. Wydaje się, że "CachedRowSet" przetwarza całą bazę danych od uzyskania połączeń i wszystkiego innego.
Czy to "CachedRowSet" to samo, o czym jest mowa w starym artykule?
Chciałbym coś prostego, jak w starym artykule. Coś, do czego zostanie załadowany zestaw wyników do przetworzenia po zamknięciu połączenia.
Czy istnieje takie zwierzę?
Dzięki
MBFG; Używam Oracle i miałem nadzieję, że wykorzystam to jako tymczasową miarę, a ja wyczyszczę starsze kody i nauczę się lepszego sposobu wykonywania operacji na danych (frameworków baz danych itp.). Nie byłem w stanie znaleźć niczego o tym, gdzie go zdobyć, jak go użyć. Jakieś wskazówki, które wykraczają poza zakres Googling? – Steve
W jaki sposób użycie zwrotów zastąpić "ResultSet", aby przewinąć poza funkcję, w której został uzyskany? – Steve
Co powoduje, że 'com.sun.rowset.CachedRowSetImpl' jest nieobsługiwany? Interfejs [CachedRowSet] (http://docs.oracle.com/javase/7/docs/api/javax/sql/rowset/CachedRowSet.html) znajduje się w Javie 7, a jego javadoc stwierdza, że "implementacja referencyjna interfejsu CachedRowSet dostarczonego przez Oracle Corporation jest standardową implementacją." Programiści mogą używać tej implementacji tak, jak jest ". Implementacja referencyjna to 'com.sun.rowset.CachedRowSetImpl'; to nie brzmi dla mnie bezobsługowo. –