· 9 years ago · Aug 17, 2017, 06:12 AM
1private String path = "jdbc:h2:./h2databases/my_serverdb";
2private String settings = ";CIPHER=AES;AUTO_SERVER=TRUE;MULTI_THREADED=1";
3private String user = "serveradmin";
4private String password = "filepassword adminpassword";
5
6public H2Server() {
7 try {
8 Class.forName("org.h2.Driver");
9 } catch (ClassNotFoundException e) {
10 System.out.println(e);
11 }
12 System.out.println(":: H2 server side ::");
13 // starting the TCP Server
14 Server server=null;
15 Connection connection=null;
16 Statement statement=null;
17 ResultSet resultSet=null;
18 String sql=null;
19
20 try {
21 server = Server.createTcpServer("-tcpAllowOthers", "-webAllowOthers",
22 "-pgAllowOthers").start();
23 connection = DriverManager.getConnection(path+settings, user, password);
24 statement=connection.createStatement();
25
26 System.out.println("Port: "+server.getPort());
27 System.out.println("URL: "+server.getURL());
28 System.out.println("Status: "+server.getStatus());
29
30 sql = "CREATE TABLE IF NOT EXISTS MYUSERS("+
31 "userid int, username varchar(255),"+
32 "PRIMARY KEY(userid) )";
33 statement.execute(sql);
34 sql = "INSERT INTO MYUSERS (userid,username) VALUES (1,'denis')";
35 statement.execute(sql);
36 sql = "INSERT INTO MYUSERS (userid,username) VALUES (2,'fil')";
37 statement.execute(sql);
38 System.out.println(connection.getCatalog());
39
40 resultSet = statement.executeQuery("SELECT userid, username FROM MYUSERS");
41 while (resultSet.next()) {
42 String userid = resultSet.getString("userid");
43 String username = resultSet.getString("username");
44 System.out.println(userid+" "+username);
45 }
46
47 /*
48 DatabaseMetaData meta = connection.getMetaData();
49 ResultSet rs = meta.getTables("./serverdata", null,"%", null);
50 System.out.println("tables list:");
51 while (rs.next())
52 {
53 System.out.println(rs.getString(3));
54 }*/
55
56 // makes new user
57 sql = "CREATE USER MARY PASSWORD 'Marypassword'";
58 statement.execute(sql);
59 // gives mary rights only to read
60 sql = "GRANT SELECT ON MYUSERS TO MARY";
61 // sql = "GRANT ALTER ANY SCHEMA TO MARY";
62 System.out.println(
63 statement.execute(sql)
64 );
65 server.start();
66
67private String path = "jdbc:h2:tcp://localhost/~/h2databases/my_serverdb";
68private String user = "MARY";
69private String password = "Marypassword";
70public H2Client() {
71 try {
72 Class.forName("org.h2.Driver");
73 } catch (ClassNotFoundException e){
74 System.out.println(e);
75 }
76
77 System.out.println(":: H2 client side ::");
78
79 Connection connection=null;
80 Statement statement=null;
81 ResultSet resultSet=null;
82 String sql=null;
83
84 try {
85 connection = DriverManager.getConnection(path, user, password);
86 statement=connection.createStatement();
87 System.out.println(connection.getCatalog());
88 resultSet = statement.executeQuery("SELECT userid, username FROM my_serverdb.MYUSERS");
89 while (resultSet.next()) {
90 String userid = resultSet.getString("userid");
91 String username = resultSet.getString("username");
92 System.out.println(userid+" "+username);
93 }