Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;和java、SQLITE服务器同时访问 我有一个问题,我需要为UNC++提供一个DLL,这个DLL需要与SQLite通信。但同时我有Java应用程序,它们也需要与数据库通信_Java_C++_Sqlite_Interop_Server - Fatal编程技术网

C++;和java、SQLITE服务器同时访问 我有一个问题,我需要为UNC++提供一个DLL,这个DLL需要与SQLite通信。但同时我有Java应用程序,它们也需要与数据库通信

C++;和java、SQLITE服务器同时访问 我有一个问题,我需要为UNC++提供一个DLL,这个DLL需要与SQLite通信。但同时我有Java应用程序,它们也需要与数据库通信,java,c++,sqlite,interop,server,Java,C++,Sqlite,Interop,Server,因此,我需要创建一个服务器,从应用程序(c++和java)获取请求,并将它们启动到SQLITE。 但是我可以用哪种语言创建这个服务器,用哪种API我可以用我的两个应用程序与这个服务器通信 我需要它,因为C++和java应用程序是网络上的一个计算机,它们编辑同一个数据库。 我选择SQLite是因为我认为它对我的解决方案更有效,因为我们不想在计算机上安装太多的软件。您可以用任何一种语言编写服务器,只要您通过套接字发送和接收消息(以字节形式),这些语言不特定,也不容易实现。通过这种方式,您还可以轻松切

因此,我需要创建一个服务器,从应用程序(c++和java)获取请求,并将它们启动到SQLITE。 但是我可以用哪种语言创建这个服务器,用哪种API我可以用我的两个应用程序与这个服务器通信

我需要它,因为C++和java应用程序是网络上的一个计算机,它们编辑同一个数据库。
我选择SQLite是因为我认为它对我的解决方案更有效,因为我们不想在计算机上安装太多的软件。

您可以用任何一种语言编写服务器,只要您通过套接字发送和接收消息(以字节形式),这些语言不特定,也不容易实现。通过这种方式,您还可以轻松切换到分布式应用程序。如果服务器和客户端在同一台机器上,只需为它们分配不同的端口即可

这是一个很难回答的问题,因为按照您的措辞,您似乎需要体系结构和实现解决方案,其中第一个在某种程度上是主观的,而后者相当复杂。有关有用的Java库,请查看JavaRMI和CORBA。也许其他人知道一种更好、更简单的方法,但是,这是我想到的第一件事


另一种方法是让每个客户端都直接访问数据库,因为SQLite是它自己的东西,允许C++和java使用它。但是,我不确定锁定多个客户端同时访问db文件会有多困难。

SQLite不支持多个用户、设置用户访问权限或类似的任何操作。您当然可以实现一个基于“服务器”的包装器来管理用户,但这对我来说似乎相当乏味。我建议切换到MySQL,因为它已经内置了用户管理功能,这可能有助于解决您的问题。

两个不同的应用程序可以同时使用同一个sqlite数据库,尽管只有一个可以同时写入(另一个被阻止)。为什么要为此创建服务器?如果他被阻止,他是等待还是停止?因为有人让我为此创建一个服务器。从网站SQLlite:“部分:客户端/服务器应用程序,或者我不太理解文本。它等待。这就是他们说的“编写者排队”和“客户端/服务器”的意思“意味着-通过网络与数据库通信,而不是在同一台计算机上。是的,但两个应用程序都在多台计算机上,我们有一个数据库服务器。问题是(我编辑了我的文章以添加它)谢谢,SQLite的问题是我们不能同时访问2个用户的数据。。。这就是为什么我需要创建一个服务器。。。。对于“体系结构和实现解决方案”,它可能是好的,但我不梦想:p我将寻找RMI和corba:p,并等待其他答复:pIt的专业计算机和我真的不喜欢在安装java应用程序期间安装其他软件。。。我真的不知道该怎么做。在问题中你在哪里看到了关于用户的任何东西?两个程序不同于两个用户。用户通过凭据进行标识,并可以访问某些数据库和模式。两个应用程序可以使用相同的用户并访问相同的数据库和模式。这意味着数据库支持多重访问,即使它不支持用户和身份验证。。所以我倾向于MySQL,我也倾向于MySQL/PostgreSQL,但不是因为多用户,而是因为SQLite不是客户机-服务器数据库。