2015-01-31 2 views
-1

привет, мне нужна помощь в моей программе. Мне нужно, чтобы vérifier подключался из моей базы данных. Hsqldb для доступа к моей программе в mysql. Все хорошо. Bat в hsqldb не хочет вообще работать. i using hsqldb - это база данных памяти, это мой код i используяВойти в программу java с помощью hsqldb?

для подключения к базе данных:

Connection conn = null; 

private static final String USERNAME = "root"; 
private static final String PASSWD = "toor"; 
private static final String CONN_STRING ="jdbc:hsqldb:Data/explorecalifornia"; 

public static Connection Conne_HSQLDB(){ 


     try { 
      Connection conn = DriverManager.getConnection(CONN_STRING,USERNAME,PASSWD); 
      System.out.println("Connected"); 
      return conn; 

      }catch(SQLException e){ 
       JOptionPane.showMessageDialog(null,e.getMessage()+ "\nCode: " + e.getErrorCode()); 
       return null; 
     } 
    } 

для входа в это мой код

if(UserTFD.getText().length()==0 || PassTFD.getText().length()==0){ 
       JOptionPane.showMessageDialog(null, "un champ est vider !"); 
      }else{ 


       String sql = "select * from LOGIN WHERE USERNAME=? and PASSWORD=?"; 
      try(
        Connection conn=ConxDB.Conne_HSQLDB(); 
        PreparedStatement pst=conn.prepareStatement(sql); 


        ){ 
         pst.setString(1, UserTFD.getText()); 
         pst.setString(2, PassTFD.getText()); 
         ResultSet rs = pst.executeQuery(); 

       if(rs.next()){ 
         dispose(); 
         new SettingGUI().setVisible(true); 
        } 
       } catch (Exception e) { 
        System.out.println(e.getMessage()); 
       } 


      } 

и сообщение ERREUR является

user lacks privilege or object not found: LOGIN 

для моей базы данных это мой код

SET DATABASE UNIQUE NAME HSQLDB397995F7ED 
SET DATABASE GC 0 
SET DATABASE DEFAULT RESULT MEMORY ROWS 0 
SET DATABASE EVENT LOG LEVEL 0 
SET DATABASE SQL NAMES FALSE 
SET DATABASE SQL REGULAR NAMES TRUE 
SET DATABASE SQL REFERENCES FALSE 
SET DATABASE SQL SIZE FALSE 
SET DATABASE SQL TYPES FALSE 
SET DATABASE SQL TDC DELETE TRUE 
SET DATABASE SQL TDC UPDATE TRUE 
SET DATABASE SQL TRANSLATE TTI TYPES TRUE 
SET DATABASE SQL CONCAT NULLS TRUE 
SET DATABASE SQL NULLS FIRST TRUE 
SET DATABASE SQL UNIQUE NULLS TRUE 
SET DATABASE SQL CONVERT TRUNCATE TRUE 
SET DATABASE SQL AVG SCALE 0 
SET DATABASE SQL DOUBLE NAN TRUE 
SET DATABASE SQL LONGVAR IS LOB FALSE 
SET DATABASE TRANSACTION CONTROL LOCKS 
SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED 
SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE 
SET DATABASE TEXT TABLE DEFAULTS '' 
SET FILES WRITE DELAY 20 
SET FILES BACKUP INCREMENT FALSE 
SET FILES CACHE SIZE 10000 
SET FILES CACHE ROWS 50000 
SET FILES SCALE 1 
SET FILES LOB SCALE 32 
SET FILES DEFRAG 0 
SET FILES NIO TRUE 
SET FILES NIO SIZE 256 
SET FILES LOG TRUE 
SET FILES LOG SIZE 200 
CREATE USER SA PASSWORD DIGEST 'd41d8cd98f00b204e9800998ecf8427e' 
CREATE USER "root" PASSWORD DIGEST '7b24afc8bc80e548d66c4e7ff72171c5' 
CREATE SCHEMA PUBLIC AUTHORIZATION DBA 
SET SCHEMA PUBLIC 
CREATE MEMORY TABLE PUBLIC.LOGIN(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,USERNAME VARCHAR(40),PASSWORD VARCHAR(40)) 
ALTER TABLE PUBLIC.LOGIN ALTER COLUMN ID RESTART WITH 3 
ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1 
SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC 
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC 
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC 
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC 
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC 
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC 
GRANT DBA TO SA 
GRANT DBA TO "root" 
SET SCHEMA PUBLIC 
INSERT INTO LOGIN VALUES(1,'root','toor') 
INSERT INTO LOGIN VALUES(2,'onee','onee') 

ответ

0

Вы должны использовать сервер HSQLDB для вашей базы данных и подключение к этому серверу для запросов.

Обычные проблемы для установки, как у вас есть:

  1. Каждый процесс Java интерпретирует относительный файл: путь к базе данных по каталогу, в котором был запущен процесс. Это может создать пустую базу данных. Вы можете избежать этого, добавив ;ifexists=true в конец URL-адреса подключения. См. Это http://hsqldb.org/doc/2.0/guide/dbproperties-chapt.html#dpc_connection_props
  2. Одновременный прямой доступ к файлу: база данных из нескольких java-процессов невозможна.

Запуск сервера позволяет надежно подключаться к различным процессам.

+0

думает о помощи –