访问数据库替代方案

时间:2010-09-01 16:16:27

标签: c# .net database

在我解释之前确定...我知道Access基本上不应再使用了。

我的应用程序现在使用access来实现其可移植性..它是一个内部应用程序,使私有/内部数据库存储变得轻而易举。

问题是,它使用64位操作系统不支持的JET 4.0,并且坦率地说不再实现。

我正在使用C#.NET visual studio 2008进行开发。我正在寻找一种方法来执行此操作,其他一些数据库类型不需要我在用户计算机上安装任何其他内容。我查看了sqlite,但在visual studio中实现它并没有简单的方法

一个想法?

9 个答案:

答案 0 :(得分:9)

您可以使用SQL Server Compact 3.5(SQL Server 2008的嵌入式版本)。

答案 1 :(得分:4)

我推荐System.Data.Sqlite(http://sqlite.phxsoftware.com/),这是一个围绕开源Sqlite数据库的托管开源ADO.Net包装器。无需安装 - 您只需在解决方案中包含单个DLL。它占地面积小,加密,性能好。

答案 2 :(得分:2)

SQL Server Express版本应随Visual Studio一起提供。这是安装时的选择,IIRC。

答案 3 :(得分:2)

Access具有以下几个关键特征:   - 单用户   - 需要安装

对于替代方案,这给你(至少):

  • SQL Compact(不需要安装,单用户)
  • SQLite(不需要安装,单用户 - 虽然支持多用户
  • SQL Express(多用户,需要安装)

答案 4 :(得分:2)

如前所述,SQL CE是一个不错的选择。如果数据不是私有的,并且您没有并发用户(如果您使用Access,则很可能),您也可以考虑使用xml。 Xpath提供了许多通常需要的数据库查询和存储功能。您也不需要安装任何东西。

答案 5 :(得分:1)

你尝试过H2?

H2的主要特点是:

Very fast, open source, JDBC API  
Embedded and server modes; in-memory databases  
Browser based Console application  
Small footprint: around 1 MB jar file size  

查看实施情况:

http://www.google.ba/search?sourceid=chrome&ie=UTF-8&q=C%23+h2+database

答案 6 :(得分:0)

这是人们继续使用Access的一个原因。当然,您需要一个简单的解决方案,不需要在客户端进行任何安装。

到目前为止,我们都假设您的用户已与SQL Server断开连接。如果他们可以连接,你就可以免费回家了。如果您需要支持只读断开连接使用,这不是问题,如果您需要从断开连接的用户提取更新数据,则会出现更多问题。

你能告诉我们你需要什么吗?

答案 7 :(得分:0)

Firebird可以是Access的一个非常好的替代品,并且具有非常好的点网驱动程序

Here是Firebird Embedded和SQL Server Compact Edition之间的比较

答案 8 :(得分:0)

XML怎么样?易于使用,适用于任何平台。如果你不熟悉它,那么不是易于实现的,但是一旦你了解它是如何工作的,它就会非常好。