当前位置:  开发笔记 > 编程语言 > 正文

Access数据库引擎的优缺点.SQLite之后的生活

如何解决《Access数据库引擎的优缺点.SQLite之后的生活》经验,为你挑选了2个好方法。

我刚才问过一个问题,关于哪个本地数据库适合我的情况.我需要从.NET代码和VB6访问数据库.压倒性的反应是SQLite.但是,我决定传递SQLite,因为它唯一的OLE DB提供商为我的软件的每个部署副本收取版税.它还需要在每台PC上运行激活程序.

在评估了其他选项(SQL Server Compact版本 - 几乎不起作用的OLE DB提供程序,Firebird - 不想为另一个驱动程序付费等等)之后,我得出结论,唯一可行的选择是使用.由Microsoft Access(或Jet引擎)创建的MDB文件.

我从90年代末就没有使用它,所以我对那些有经验的人有以下问题.

    他们是否已经解决了数据库不时会损坏的问题.

    是通过ADO.NET OLEDB Provider从c#访问MDB还是有本机解决方案(我似乎无法找到它).

    Access中真正糟糕的SQL编辑器是否有可行的替代方案?

谢谢.



1> Ash..:

而不是"返回"Access,我坚持使用SQLite并使用System.Data.SQLite提供程序在.NET代码中进行SQLite数据访问.

然后我将创建一个简单的COM互操作.NET类供VB6使用,它包含任何所需的SQLite数据访问功能.最后,只需引用并使用它就像VB6项目中的标准COM对象一样.

我对Access的了解可能有点过时,并且受到不良体验的影响,但在合理的范围内,我会尝试大多数其他选择,然后才能使用Access路线.



2> Mitch Wheat..:

您是否考虑过SQL Server 2008 Express Edition(与SQL Server CE相反)?

1)就个人而言,我发现大多数时候Access DB损坏了它是由于代码在自身后没有清理,或者涉及到有故障的网卡.

2)

string connectionString = @“Provider = Microsoft.Jet.OLEDB.4.0; " + 
                          @"Data Source = C:\data\northwind.mdb; " +
                          @"User Id = guest; Password = abc123”


using (OleDbConnection oleDbConnection = New OleDbConnection())
{
    oleDbConnection.ConnectionString = connectionString;

    oleDbConnection.Open();

    ...
}

3)SQL Server 2008 Express Edition

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有