getColumnName() возвращает псевдоним Oracle
Я использую ojdbc7.jar для подключения к оракулу из Java. Для запроса с псевдонимами, когда я делаю getColumnName()
а также getColumnLabel()
из ResultSetMetaData
, оба возвращают псевдоним. Я хочу иметь оригинальное имя столбца.
0 ответов
Это невозможно Если вы напишите запрос, в котором псевдоним столбца (или функции) будет добавлен к какому-либо другому имени, когда набор результатов будет передан на следующий уровень (другой запрос, как в представлении, или вызов JDBC/ODBC), метаданные, которые имеет система о том запросе только псевдоним.
Единственный способ найти оригинальное имя - отследить используемый SQL обратно к его источнику (например, если он вызывает представление, ищет определение представления и т. Д.).
Рассмотрим представление, которое связывает столбец с чем-то другим (по сути, то, что вы делаете, поскольку представление - это просто хранимый SQL, который выполняется по требованию). Определение представления этого столбца будет иметь только псевдоним (фактически он хранится в dba_tab_columns), а не оригинальное имя. У вас нет возможности узнать оригинальное имя, если не считать определения представления.