Я возился с запросами БД Oracle, которые запускаются из моего приложения JAVA.Я могу успешно заставить их всех работать в SQL Developer.Но когда я пытаюсь выполнить их из своего приложения JAVA, я обычно получаю UpdatadbleResultSet Error/Exception
по определенным запросам.
Кроме того, иногда я получаю, ExhaustedResultset
.Как я упоминаю в нижней части, я снова проработаю вопрос, чтобы разбить его (когда у меня будет шанс).Я продолжаю редактировать, и довольно скоро это будет книга.
Почему это?Я не могу точно определить проблему.
Некоторые запросы выполняются успешно, например:
SELECT table_name
FROM all_tables
SELECT column_name, data_length
FROM all_tab_columns
WHERE table_name = 'mytable'
Но когда я пытаюсь запустить что-то вроде
SELECT length(<myColumnName>)
FROM mytable
, я получаю updateableResultSetError
Я выполняю свои запросы как методы, вызываемые нажатием кнопки (пример ниже).
static void testQuery() {
String query = "SELECT blah from blah"
String length;
ResultSet rs = db.runQuery(query);
Length = rs.getString("length(myCol)")
System.out.println(length);
}
Я также пытался while rs.next()
Я могу только думать, что по какой-то причине я не могучтобы попасть в каждую таблицу, и я могу вытащить только "большую" картинку.
РЕДАКТИРОВАТЬ: Объясненное Соединение с БД
Я подключаюсь, используя некоторыедругие jarfiles, которые были добавлены в мой проект.
private static IDriver driver = null;
private static Database db = null;
Затем я передаю все свои учетные данные подключения отдельным методом.
private void connectDB(){
driver = new OracleDriver();
db = new Database(driver)
driver.getPassword;
driver.getetc;
driver.getEtc;
}
EDIT:
КогдаЯ получаю отслеживание, все, что я возвращаю, это.
Ljava.lang.StatckTraceElement;(assortment of random characters).
Возможно, я не получаю правильные следы стека, так что кто-то может заполнить меня. В конце концов, я предлагаю вознаграждение.
Также я буду редактироватьэтот вопрос и разбить его снова, когда у меня будет время.