对于我的uni项目,我做了一个使用MySQL数据库的C#程序。现在看一下,我认为选择MySQL不是最好的解决方案......至少从用户的角度来看......是的,会有这个程序的实际用户(为我欢呼!),但是安装过程是有问题,因为用户必须安装所有依赖项(C ++运行时,.net环境,MySQL,ODBC连接器,MySQL和数据库)。虽然我创建了一个small manual,但我更愿意提供更简单的东西。 虽然我找到了Auto installer,但它所做的只是复制文件。 iExpress.exe似乎只运行一个文件...而且还有一个问题是安装数据库而不在MySQL工作台中打开mwb(我确实有一个.sql文件,实际上用于将其转发到数据库) 。你们能给我任何指示吗?
编辑:我已经开始在VS http://support.microsoft.com/kb/307353中创建安装程序包我不认为我可以在那里设置订单但仍然无法解决数据库安装问题EDIT2:似乎MySQL在这里是一个死胡同......是否有一种简单的方法可以将我当前的数据库移动到SqlLite或我可以嵌入的东西?
答案 0 :(得分:2)
根据我们上面的评论帖:
在每个客户端上都有一个MySQL服务器实例有点矫枉过正。这种方法存在一些问题。
您需要查看嵌入式解决方案。一些解决方案可能是SQLLite,SQL CE甚至是旧的Berkley DB。如果存储在客户端上的信息本质上不是那种关系,并且您不需要符合ACID标准的数据库,那么您可能希望将其存储在普通的旧文本文件中,甚至是XML文件中。
基本上,您正在处理断开连接的记录集模型。应用程序无需与服务器连接的地方。 C#允许您将记录集存储在XML文件中。例如,您可以让一个中央MySQL服务器将记录下载到客户端应用程序,并让客户端在本地处理记录。
当客户端完成其工作后,您可以(如果网络可用)将这些更改发布回MySQL服务器。
坏消息是要努力做到这一点。它不会是重大的返工,但也不会很小。
答案 1 :(得分:0)
您可以从mysql.com下载用于ODBC的mysql驱动程序,并将应用程序配置为使用ODBC连接作为替代方法。
http://dev.mysql.com/downloads/connector/
当然,如果您不使用客户端 - 服务器架构,则不应使用客户端 - 服务器DBMS。使用sqlite或sql server CE