2016-09-26 1 views
0

자바 프로그래밍 언어를 사용하여 상용 데스크톱 응용 프로그램을 개발하고 있으며 Sqlite를 선택 데이터베이스로 사용하고 있습니다. 하지만 내가이 소프트웨어를 두 개 이상의 클라이언트 컴퓨터에 설치하고자하는 상황에서 클라이언트 컴퓨터에 설치된 소프트웨어는 서버 컴퓨터 소프트웨어 인 Sqlite 데이터베이스 (하나의 공통 데이터베이스)를 사용해야합니다. 내 질문은 : 네트워킹과 자바를 사용하여 이것을 달성하기위한 적절한 절차는 무엇입니까? 및 클라이언트 및 서버 컴퓨터에 적용 할 적절한 연결 문자열은 무엇입니까? 당신이 나를 위해 솔루션을 제공으로,자바 프로그래밍을 사용하여 서버 컴퓨터에 설치된 Sqlite 데이터베이스를 사용하여 클라이언트 컴퓨터를 연결하는 방법은 무엇입니까?

import java.sql.*; 
import javax.swing.JOptionPane; 

public class dbconnection { 
    Connection conn = null; 

    public static Connection ConnectDB() { 
     Statement stmt = null; 
     try 
     { 

      Class.forName("org.sqlite.JDBC"); 
      Connection conn = DriverManager.getConnection("jdbc:sqlite:myDatabase.sqlite"); 
      System.out.println("Connected database successfully..."); 
      return conn; 
     } 
     catch(Exception e) 
     { 
      System.out.println("Exception 1: "+ e); 
      return null; 
     } 

    } 
} 

정말 감사합니다 !! :

다음은 나를 위해 작동 내 서버 연결입니다. when to use SQLite 가입일

+0

나는 클라이언트 컴퓨터가 서버 (하나의 공통 데이터베이스)와 동일한 데이터베이스를 사용해야하지만 다른 연결 방법 – columbose

답변

0

:

SQLite는 개별 애플리케이션 및 장치에 대한 로컬 데이터 저장을 제공하기 위해 노력하고있다.

당신이 (출처 : serverside database)처럼 achive 수 SQLite는을 사용하여 클라이언트/서버 아키텍처의 일종 구현하려면

서버 측 데이터베이스를
시스템 설계자가 사용 성공을보고 SQLite는 데이터 센터에서 실행되는 서버 응용 프로그램의 데이터 저장소, 즉 SQLite를 응용 프로그램 별 데이터베이스 서버의 기본 저장소 엔진으로 사용합니다.
이 패턴을 사용하면 전체 시스템이 여전히 클라이언트/서버입니다. 클라이언트가 서버에 요청을 보내고 네트워크를 통해 응답을 되돌립니다. 그러나 일반 SQL을 보내고 원시 테이블 내용을 다시 가져 오는 대신 클라이언트 요청 및 서버 응답은 상위 수준 및 응용 프로그램 별입니다. 서버는 요청을 여러 SQL 조회로 변환하고 결과를 수집하며 사후 처리, 필터링 및 분석을 수행 한 다음 필수 정보만을 포함하는 상위 레벨 응답을 구성합니다.
개발자는 SQLite가이 시나리오에서 클라이언트/서버 SQL 데이터베이스 엔진보다 빠르다고보고합니다. 데이터베이스 요청은 서버에 의해 직렬화되므로 동시성은 문제가되지 않습니다. 동시성은 또한 "데이터베이스 샤딩"에 의해 향상되었습니다. 다른 하위 도메인에 대해 별도의 데이터베이스 파일을 사용합니다. 예를 들어, 서버는 각 사용자에 대해 별도의 SQLite 데이터베이스를 가질 수 있으므로 서버는 수백 또는 수천 개의 동시 연결을 처리 할 수 ​​있지만 각 SQLite 데이터베이스는 하나의 연결에서만 사용됩니다.

관련 문제