2010-10-31 82 views
3

我在练写它使用MySQL来处理数据的应用程序。 我的顾虑是,如果我的客户端机器没有预先安装MySQL,它不能运行我的应用程序,是吗?因此无论如何都要将数据库服务器嵌入到应用程序中,或者在没有数据服务器的情况下运行应用程序。我想知道那里的所有软件如何处理数据。这不像我们在安装应用程序之前需要安装某种数据库服务器。如何数据库集成到软件

回答

5

MySQL是以一个客户机/服务器的数据库引擎,这意味着你必须分别从每个安装客户端和服务器,它们在某种网络协议进行通信。

如果你想部署一个独立的应用程序,你可能最好使用像SQLite这样的库,它可以为你提供尽可能多的SQL数据库的功能,这在你的应用程序中很可能需要,但而是在本地文件上运行,不需要安装单独的服务器。

+0

通常,客户端需要的是使用编程语言提供的一些数据访问协议(ODBC,JDBC,ADO .NET等)API。 – 2010-10-31 07:58:12

+0

谢谢。 SQLite正是我正在寻找的。 – NC7 2010-10-31 08:41:31

+0

@凯尔,如果你想提供一个完全不同的解决方案,那么你应该提供它作为答案,而不是作为对另一个答案的评论。 – 2010-10-31 12:40:55

0

您的应用程序可以与远程数据库的工作,在配置数据库连接时,你应该设置你的数据库服务器的IP地址(主机),端口和登录凭据。所以为了编写处理数据操作的应用程序,您需要立即连接到任何数据库。

-1

我建议在规定的数据库上执行的所有操作,你的应用程序女巫简单的界面来包装DB层。通过这种方式,您不必进入数据库原子操作的细节,并通过统一的接口,可以创建几个不同的类,这些类将负责以相同的方式(相同的接口)访问不同的数据库。这些类应该实现接口并实现所有必要的方法(例如ADO)。现在你的数据库层可以在所有程序中以相同的方式显示。包装类可以实现单身设计模式,并可以在您的应用程序中作为一个实例使用。通用类设计(界面)为您提供了许多好处,例如,如果需要,可以在另一个层上进行替换(切换到完全不同的数据库)。

+1

这么多计算机科学的词语,很少有用的答案。 – ceejayoz 2010-10-31 13:47:07

+0

这么多无用的评论,没有有用的答案 – UGEEN 2010-10-31 16:27:50

0

如果是在客户机 - 服务器应用程序中工作时,MySQL数据库可以由MySQL来访问或者(该溶液可以是适合于内部网络),或者通过一些数据库端服务,其可以提供一些API和其可以通过一些应用程序级协议(例如XML-RPC)从客户端访问。

如果您正在开发客户端应用程序,还有其他数据库解决方案,可以在独立软件中使用:SQLite,Derby。作为数据库方法的替代方法,您可以考虑以XML/YAML格式存储数据。