Das Oracle-Äquivalent für information_schema.COLUMNS
ist USER_TAB_COLS
für Tabellen, die dem aktuellen Benutzer gehören, ALL_TAB_COLS
oder DBA_TAB_COLS
für Tabellen, die allen Benutzern gehören.
Tablespace ist nicht gleichbedeutend mit einem Schema, noch müssen Sie den Tablespace-Namen angeben.
Die Angabe des Schemas/Benutzernamens wäre hilfreich, wenn Sie ALL_TAB_COLS
abfragen möchten oder DBA_TAB_COLS
für Spalten von Tabellen, die einem bestimmten Benutzer gehören. In Ihrem Fall würde ich mir vorstellen, dass die Abfrage in etwa so aussehen würde:
String sqlStr= "
SELECT column_name
FROM all_tab_cols
WHERE table_name = 'USERS'
AND owner = '" +_db+ "'
AND column_name NOT IN ( 'PASSWORD', 'VERSION', 'ID' )"
Beachten Sie, dass Sie bei diesem Ansatz das Risiko einer SQL-Einschleusung eingehen.
BEARBEITEN: Großbuchstaben der Tabellen- und Spaltennamen, da diese in Oracle normalerweise großgeschrieben werden; sie sind nur klein- oder gemischt geschrieben, wenn sie mit doppelten Anführungszeichen um sie herum erstellt werden.