Jak uzyskać odpowiednią nazwę zmiennej stałej dla wartości całkowitej typu Oracle SQL z ResultSet.getMetaData (). GetColumnType (i)?
Oto kilka przykładów zmiennych stałych:
java.sql.Types.VARCHAR:
java.sql.Types.NVARCHAR:
java.sql.Types.LONGVARCHAR:
java.sql.Types.LONGNVARCHAR:
java.sql.Types.NUMERIC:
java.sql.Types.SMALLINT:
java.sql.Types.BIGINT:
java.sql.Types.FLOAT:
java.sql.Types.DOUBLE:
java.sql.Types.DECIMAL:
java.sql.Types.DATE:
java.sql.Types.TIMESTAMP:
java.sql.Types.TIMESTAMP_WITH_TIMEZONE:
java.sql.Types.TIME_WITH_TIMEZONE:
Ale otrzymuję wartość -101 dla konkretnej kolumny, którą jest TIMESTAMP WITH TZ. Przy okazji używam Oracle.
Zatem, biorąc pod uwagę wartość -101, jaką zmienną stałą powinienem zastosować do tego? Widzę, że istnieje coś takiego jak oracle.sql.TIMESTAMPTZ, ale nie jest to liczba całkowita, ale rzeczywisty typ.
Próbowałem przeszukać całe java.sql.Types i nie mogłem znaleźć dopasowania dla -101.
Odpowiedzi:
0 dla odpowiedzi № 1Prawdopodobnie jest to nieporozumienie między specyfikacją JDBC a implementacją sterownika Oracle.
Jest pewien stary błąd związany z tym samym pytaniem w Backlog Squirrel.
Aby odkryć, która stała w java.sql.Types
jest związany z konkretną wartością całkowitą, możesz użyć odbicia i pętli dla wszystkich stałych i znaleźć tę, która pasuje.
Ale w twoim przypadku będziesz potrzebować obejścia, aby przetłumaczyć wartość-101 zwróconą przez sterownik Oracle na wartość 2014 określoną w parametrze TIMESTAMP_WITH_TIMEZONE
stały.