2016-09-26 7 views
0

私はJavaプログラミング言語を使用して商用デスクトップアプリケーションを開発しています。私は選択したデータベースとしてSqliteを使用しています。しかし、私はこのソフトウェアを2つ以上のクライアントコンピュータにインストールしたいと思うので、クライアントコンピュータにインストールされたソフトウェアはサーバーコンピュータソフトウェアSqliteデータベース(1つの共通データベース)を使用する必要があります。 私の質問は: これを達成するための適切な手順は何ですか? および クライアントコンピュータとサーバーコンピュータに適用する適切な接続文字列は何ですか?あなたは私のためのソリューションを提供として、どのようにJavaプログラミングを使用してサーバーコンピュータにインストールされている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は、個々のアプリケーションやデバイスのためのローカルデータストレージを提供するよう努めています。

あなたはSQLiteのを使用して、クライアント/サーバアーキテクチャのいくつかの種類を実装したい場合は、(ソース:serverside database)のようにそれをachiveでき
システム設計者が使用して成功を報告

サーバー側のデータベースSQLiteは、データセンターで動作するサーバアプリケーション上のデータストア、つまりSQLiteをアプリケーション固有のデータベースサーバの基盤となるストレージエンジンとして使用します。
このパターンでは、システム全体は依然としてクライアント/サーバーです。クライアントはサーバーに要求を送信し、ネットワーク経由で返信を返します。しかし、汎用SQLを送信して生の表の内容を戻す代わりに、クライアント要求とサーバー応答は高レベルでアプリケーション固有です。サーバーは要求を複数のSQL照会に変換し、結果を収集し、後処理、フィルター、および分析を行い、必要不可欠な情報のみを含む高レベルの応答を構成します。
このシナリオでは、開発者はSQLiteがクライアント/サーバーのSQLデータベースエンジンより高速であることが多いと報告しています。データベース要求はサーバーによってシリアル化されるため、並行性は問題になりません。並行処理は「データベースシャーディング」によっても改善されました。異なるサブドメインに対して別々のデータベースファイルを使用します。たとえば、サーバーはユーザーごとに別々のSQLiteデータベースを持っているため、サーバーは数百または数千の同時接続を処理できますが、各SQLiteデータベースは1つの接続でのみ使用されます。

関連する問題