powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / FAQ: пример работы с сервером Pointbase в режиме embedded
1 сообщений из 1, страница 1 из 1
FAQ: пример работы с сервером Pointbase в режиме embedded
    #32845233
Фотография А.Грасоff™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ниже описана попытка запустить сервер Pointbase при отсутствии документации -
надо было :) все, что необходимо для запуска сервера и работы с ним было определено
стандартно - reverse engineering :) если есть варианты более "правильные" с точки
зрения производителя Pointbase - покажите.

для запуска примера net.fpestde.test.pointbase.Test необходим pbembedded.jar,
поставляется с Pointbase (используется, кстати, версия 4.8)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
 package  net.fpestde.test.pointbase;

 import  com.pointbase.net.*;
 import  com.pointbase.dbga.*;

 import  java.io.*;
 import  java.sql.*;

/**
 * @author A.Grasoff
 */
 public   class  Test {
   public   static   void  main(String[] args)  throws  ClassNotFoundException, SQLException {
    /* каталог нашей БД */
    String dbHome = "D:\\dbdata\\pointbase\\testdbdir";

    /* "грубое" удаление всех файлов БД */
    File[] files = ( new  File(dbHome)).listFiles();
     for  ( int  i =  0 ; i < files.length; i++) {
      File file = files[i];
      file.delete();
    }

    /* создание экземпляра сервера com.pointbase.net.netServer */
    netServer ns =  new  netServer();

    /* берем порт сервера по умолчанию из com.pointbase.dbga.dbgaProperties */
     final   int  PORT = dbgaProperties.getGlobaldbgaProperties().getPropertyNetPort();
     final   boolean  IS_DAEMON = false;

    System.out.print("Start Pointbase Server... ");

    /* старт сервера */
     try  {
      ns.startServer(PORT, IS_DAEMON);
      System.out.println("Ok.");
    }  catch  (Exception e) {
      System.out.println("Error. Exception: " + e.getClass().getName() + " (" + e.getMessage() + ")");
      System.out.println();
      e.printStackTrace();
      System.exit(- 1 );
    }

    /* имя БД */
    String dbName = "testdb";

     Class .forName("com.pointbase.jdbc.jdbcUniversalDriver");

    /* параметр new в dbUrl - признак создания новой БД */
    String dbUrl = "jdbc:pointbase:embedded:" + dbName + ";new,database.home=" + dbHome;

    Connection con = DriverManager.getConnection(dbUrl);

    /* версия пойнтбэйс */
    DatabaseMetaData dmd = con.getMetaData();
    System.out.println("*** *** ***");
    System.out.println(dmd.getDatabaseProductName() + " " + dmd.getDatabaseProductVersion());
    System.out.println("*** *** ***");
    System.out.println();

    /* простые операторы insert/select для небольшого теста */
     try  {
       try  {
        con.createStatement().executeUpdate("create table testTable (id int, fname varchar(255), sname varchar(255), primary key(id))");
      }  catch  (SQLException e) {
        System.out.println("SQLException (" + e.getMessage() + ")");
        System.exit(- 1 );
      }

      String qry = "insert into testTable (id, fname, sname) values (?, ?, ?)";
      PreparedStatement pst = con.prepareStatement(qry);

      System.out.print("Insert data... ");
       try  {
         for  ( int  i =  1 ; i <  51 ; i++) {
          String fname = "fname " + i;
          String sname = "sname " + i;
          pst.setInt( 1 , i);
          pst.setString( 2 , fname);
          pst.setString( 3 , sname);
          pst.executeUpdate();
        }
        System.out.println("Ok");
      }  catch  (Exception e) {
        System.out.println("Exception: " + e.getClass().getName() + " (" + e.getMessage() + ")");
      }

      System.out.println();

      Statement st = con.createStatement();
      ResultSet rs = st.executeQuery("select * from testTable order by fname, sname");

      System.out.println("-- select * from testtable --");
       while  (rs.next()) {
        System.out.println(rs.getInt("id") + "\t" + rs.getString("sname") + ", " + rs.getString("fname"));
      }
      rs.close();
      st.close();
    }  finally  {
      con.close();

      /* останавливаем сервер */
      ns.stopServer();
    }

    System.exit( 0 );
  }
}

--
Lacrima Mosa Est
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / FAQ: пример работы с сервером Pointbase в режиме embedded
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]