2

对于我的 uni 项目,我制作了一个使用 MySQL 数据库的 C# 程序。现在来看,我认为选择 MySQL 并不是最好的解决方案……至少从用户的角度来看……是的,会有这个程序的实际用户(为我欢呼!),但是安装过程是有点问题,因为用户必须安装所有依赖项(C++ 运行时、.net 环境、MySQL、ODBC 连接器、MySQL 和数据库)。虽然我创建了一个小手册,但我更愿意介绍一些更简单的东西。虽然我找到了自动安装程序,它所做的只是复制文件。iExpress.exe 似乎只运行一个文件......而且仍然存在安装数据库而不在 MySQL 工作台中打开 mwb 的问题(我确实有某个 .sql 文件实际上用于将其转发到数据库) . 你们能给我一些指示吗?

编辑:我已经开始在 VS http://support.microsoft.com/kb/307353中创建安装包我不认为我可以在那里设置订单并且仍然没有解决数据库安装的问题

EDIT2:似乎 MySQL 在这里是一条死胡同……是否有一种简单的方法可以将我当前的数据库移动到 SqlLite 或我可以嵌入的东西?

4

2 回答 2

2

根据我们上面的评论线程:

在每个客户端上都有一个 MySQL 服务器实例有点矫枉过正。这种方法有几个问题。

  1. 安装和配置将是一场噩梦。
  2. 数据库服务器的维护也会有问题。服务器的备份、安全性和维护现在需要 DBA 前往客户端。

您需要查看嵌入式解决方案。一些解决方案可能是 SQLLite、SQL CE 甚至是旧的 Berkley DB。如果存储在客户端上的信息本质上不是那么相关,并且您不需要符合 ACID 的数据库,您可能希望将其存储在普通的旧文本文件甚至 XML 文件中。

本质上,您正在处理断开连接的记录集模型。应用程序工作不需要连接到服务器的地方。C# 确实允许您将记录集存储在 XML 文件中。例如,您可能有一个中央 MySQL 服务器将记录下载到客户端应用程序,并让客户端在本地处理记录。

当客户端完成其工作时,您可以(如果网络可用)将这些更改发布回 MySQL 服务器。

坏消息是,这将需要付出努力。这不会是重大的返工,但也不会是次要的。

于 2012-06-20T09:55:52.470 回答
0

您可以从 mysql.com 下载 ODBC 的 mysql 驱动程序,并将应用程序配置为使用 ODBC 连接作为替代方案。

http://dev.mysql.com/downloads/connector/

如果您不使用客户端-服务器架构,当然,您不应该使用客户端-服务器 DBMS。使用 sqlite 或 sql server CE

于 2012-06-20T09:54:44.203 回答