Подтвердить что ты не робот

"Системный ресурс превышен" во время подключения к файлу доступа через Java jdbc odbc

Я прочитал все сообщения "Системный ресурс превышен", но это не что-то похожее на них. Я потратил последние 3 часа на поиск решения. У меня не так много связей/утверждений/результатов, и я всегда закрываю их все. Мой код работал, но теперь я получаю исключение "Системный ресурс превышен", а не во время запросов, но КОГДА Я ПЫТАЮСЬ ПОДКЛЮЧИТЬ. Я не изменил ничего из своего кода, но в данный момент он не работает, за исключением 1 из 10 раз. Я попытался изменить некоторые вещи в нем, но никакой разницы. Мои файлы доступа - 15 - 50 МБ. Мой код:

private String accessFilePath;
private Connection myConnection;
public boolean connectToAccess(String myAccessFilePath) {
    accessFilePath = myAccessFilePath;
    //Get connection to database
    try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        // set properties for unicode
        Properties myProperties = new Properties();
        myProperties.put("charSet", "windows-1253");
        myConnection = DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + accessFilePath, myProperties); // I get the exception here
    } catch (Exception ex) {
        System.out.println("Failed to connect to " + accessFilePath + " database\n" + ex.getMessage());
        return false;
    }
    return true;
}

Что теперь отличается от других? Открывать ли файлы доступа предыдущие подключения? Что здесь может быть неправильным?

4b9b3361

Ответ 1

ОК, я нашел решение. Сначала я начал новый проект java и скопировал те же самые коды. Я успешно подключался к своим файлам каждый раз, когда пробовал это в своем новом проекте. Так это меня поразило. Я посмотрел на настройки виртуальной машины. В моей оригинальной программе Я НАЗНАл СЛИШКОМ МНОГО ПАМЯТИ В ВИРТУАЛЬНОЙ МАШИНОЙ, поэтому не осталось памяти даже для одного подключения к файлам.

Мои настройки были → Опции VM: -Xmx1536m -Xms768m (немного чрезмерно)

Я изменил его на → Параметры VM: -Xmx512m -Xms256m

И это сработало. Спасибо за ваши Коментарии. Надеюсь, это поможет другим людям, потому что я провожу много часов, чтобы найти его.