我正在使用Java编程语言开发商业桌面应用程序,我使用Sqlite作为我的首选数据库。但是在这种情况下我希望将这个软件安装到两台或更多客户端计算机上并且我希望客户端计算机安装的软件应该使用服务器计算机软件Sqlite数据库(一个常见的数据库)。 我的问题是: 使用Networking和java实现此目的的正确程序是什么? 和 适用于客户端和服务器计算机的正确连接字符串是什么?
以下是我的服务器连接:
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;
}
}
}
非常感谢!!,为您提供解决方案。
答案 0 :(得分:0)
SQLite致力于为各个应用程序和设备提供本地数据存储。
如果你想使用SQLite实现某种客户端/服务器架构,你可以像(来源:serverside database)
那样实现它。服务器端数据库
系统设计人员使用SQLite作为数据存储在数据中心中运行的服务器应用程序,或者换句话说,使用SQLite作为特定于应用程序的数据库服务器的底层存储引擎。
使用此模式,整个系统仍然是客户端/服务器:客户端向服务器发送请求并通过网络获取回复。但是,客户端请求和服务器响应不是发送通用SQL并返回原始表内容,而是高级别和特定于应用程序。服务器将请求转换为多个SQL查询,收集结果,进行后处理,过滤和分析,然后构建仅包含基本信息的高级回复。
开发人员报告说,在这种情况下,SQLite通常比客户端/服务器SQL数据库引擎更快。数据库请求由服务器序列化,因此并发不是问题。 “数据库分片”也改进了并发性:对不同的子域使用单独的数据库文件。例如,服务器可能为每个用户提供单独的SQLite数据库,以便服务器可以处理数百或数千个并发连接,但每个SQLite数据库仅由一个连接使用。