Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > JDBC-ODBC-Paradox -жуткий тормоз


Автор: twiger 11.11.2004, 15:28
После долгих и безуспешных исканий JDBC драйвера для Paradox-
пришлось переходить на ODBC мост.
Тут ещё не легче- выборка всех записей из небольшой таблицы (.db ~20Kb) занимает около 1 мин, при этом идёт жуткое обращение к диску- Вообщем работать так не возможно.
Может я что ни так делаю либо существуют какиенибудь настройки для оптимизации?

Делаю так: создаю DataSource в ODBC/User Dsn- prdx_smple с драйвером для Paradox от Microsoft
потом java:
Код
public class TestODBC
{
  String url = "jdbc:odbc:prdx_smple";

  public TestODBC()
  {
    try
    { 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    }
    catch(Exception e)
    {
      System.out.println("Failed to load JDBC/ODBC driver.");
      return;
    }

    try
    {
      String sql = "select * from expdbfi3";
      Connection con = DriverManager.getConnection(url, "", "");
      Statement stmt = con.createStatement();
      ResultSet rs = stmt.executeQuery(sql);
      ResultSetMetaData resultSetMetaData = rs.getMetaData();
      int iNumCols = resultSetMetaData.getColumnCount();
      
      for(int i = 1; i <= iNumCols; i++)
        System.out.println(resultSetMetaData.getColumnLabel(i) + " " + resultSetMetaData.getColumnTypeName(i));

      Object colval;
      while(rs.next())
      {
        for(int i = 1; i <= iNumCols; i++)
        {
          colval = rs.getObject(i);
          System.out.print(colval + " ");
        }
        System.out.println();
      }

      rs.close();
      stmt.close();
      con.close();
    }
    catch(SQLException sqlex)
    {
      sqlex.printStackTrace();
      sqlex.getNextException().printStackTrace();
      sqlex.getNextException().printStackTrace();
    }

    try
    {
      jbInit();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }
}

PS: Может всё таки у кого нибудь есть этот JDBC драйвер, буду очень признателен получить его- twiger@nm.ru

Автор: AntonSaburov 11.11.2004, 16:44
Вообще-то странно. Мост JDBC-ODBC работает конечно не улетно, но вполне прилично. А нельзя ли попробовать проверить связку ODBC-Paradox ?

Автор: Zandr 12.11.2004, 08:36
Еще (на скорость вряд-ли влияет) не обязательно в DSN регистрировать.
url = "jdbc:odbc:Driver={Microsoft Paradox Driver (*.db)};DBQ=Файл или директория(проверять нада)";

Автор: twiger 12.11.2004, 14:40
Выяснил причину - был когда то включен ODBC trace- это и привело к тормозу.
Всем Спасибо.
Вопрос снят.

Автор: AntonSaburov 12.11.2004, 18:30
Цитата(twiger @ 12.11.2004, 15:40)
Выяснил причину - был когда то включен ODBC trace- это и привело к тормозу.
Всем Спасибо.

Заходи еще - будем рады smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)