向所有成员致以花时间阅读这个问题。
我正准备一个测验系统的应用程序,该系统将从数据库中随机提出问题并使用ado.net将它们放入界面(c#)。
我的问题是我希望程序是可移植的,即您不必在所有系统上完全安装sql server我将运行我的代码(如果我是用户sql server驱动程序)。
这个问题的解决方案是什么?
答案 0 :(得分:4)
您可以选择Sql CE(精简版)数据库。
来自Scott Guthrie的博客:SQL CE不要求您运行安装程序或安装数据库 服务器,以便使用它。您只需复制SQL CE二进制文件即可 进入ASP.NET应用程序的\ bin目录,然后进入您的Web 应用程序可以将其用作数据库引擎。没有设置或额外 它需要安全权限才能运行。你不需要 在计算机上拥有管理员帐户。只需复制您的网站 应用程序到任何服务器上,它将工作。甚至是这样的 在Web托管环境中运行的中等信任应用程序。
答案 1 :(得分:1)
不要使用SQL Server。
您可以使用像SQLite这样的数据库,可以通过ADO.NET使用,并与您的应用程序一起分发,而不需要单独的数据库安装。
请注意,此方法可能或可能不足以满足您的实际数据库需求。
答案 2 :(得分:0)
我喜欢AVD的答案,可能就是这样,但使用linq to XML将是一种替代便携性的好方法。
答案 3 :(得分:0)
将您的DataSet序列化为二进制文件。
DataSet ds = GetData();
ds.RemotingFormat = SerializationFormat.Binary;
BinaryFormatter bin = new BinaryFormatter();
bin.Serialize(stream, ds);