2012-12-31 59 views
2

我有一个简单的问题。我对开发世界很陌生,并且创建了一些相当不错的访问数据库。这些数据库面向小企业主。目前,我有一些小型企业对我已经创建的数据库感兴趣,并将其作为潜在的产品购买。如何以及如何打包访问数据库的最佳方式,以便用户不必拥有完整的访问副本,并且还可以在将来更新产品。例如版本1.1可能是启动版本,但1.2可能在数据库的启动屏幕上包含日期和时间?将Access数据库部署为产品

如果需要更多信息,请让我知道我会很乐意上传更多信息。

,我使用Access数据库访问2013年

回答

3

下面是一个简单的设置已经为我工作:

  • 转换为.accde。
  • 为用户提供访问运行时。
  • 拆分数据库。
  • 将更新的前端放入与客户端共享的Dropbox帐户。
  • 指导客户端如何在启动屏幕加载事件时使用以下代码进行提示时查找后端。

Private Sub Form_Load() On Error GoTo frm_error Dim RS As Recordset Dim cn As Database Set cn = CurrentDb Set RS = cn.OpenRecordset("tblX") 'Insert name of any table in backend RS.Close Exit Sub frm_error: If MsgBox("Database cannot be found. Advanced Users press OK to link the tables. Otherwise, notify an admin and press cancel to close the xProgram.", vbOKCancel) = vbOK Then RunCommand acCmdLinkedTableManager Else DoCmd.Quit End If End Sub

我会注意到,我已经因为使用Access作为后台停止并切换到亚马逊RDS托管的SQL Server。这对于安全性,备份,前端升级和异地维护来说无疑是个奇迹(尽管我会强调你永远不会得到一个使用访问作为前端的完全安全的系统)。

3

这是一个非常宽泛的问题。关于该主题的书籍的全部章节都已经写入。我只是给你的短,短的解释:


如何以及什么才是去包装一个Access数据库,这样用户不必访问的完整副本的最佳方式?

这里要做的最简单的事情就是将数据库文件编译为.mde或.accde。这不是防弹的,但会阻止临时用户对您的产品进行逆向工程。

从Access 2007开始,Access Runtime可免费使用。使用运行时,用户将无法访问数据库窗口(列出所有表,查询,表单,报表等的事物),因此您需要为此提供备用导航。


而且也使该产品能够在未来

更新我读过有关托尼·托斯的Auto FE Updater好东西。我没有亲自使用它(我使用了Inno Setup和我写的其他自定义脚本的组合),但是我听说它适用于你正在谈论的内容。


最后一点。 在发布它之前,您绝对必须将数据库分为前端和后端。

+1

是的,前端/后端分离至关重要。它允许您部署新版本的应用,同时保持客户数据在后端不变。您必须实施一种机制,允许应用程序在启动时自动链接后端表,因为后端的文件路径很可能与您的开发PC上的文件路径不一样。 –

+0

谢谢,所以如果我打算将数据库打包到拇指驱动器上以进行部署和安装,这是否是确保安装路径始终相同的好方法? –