我在.mdb
访问文件中开发了一个应用程序,其中的表链接到sql server
我尝试将共享文件夹中的mdb
文件输出到所有用户,但同时访问会经常破坏文件。
所以我试图将.mdb
文件部署到每台客户端计算机并保持更新。我创建了一个winform应用程序,用于检查mdb
文件版本并将其复制到本地文件夹,然后打开本地副本
但即使这样,如果太多用户同时使用winform启动器,我也会遇到问题
所以我想是否有更好的和更简单的方法:
我可以使用clickonce直接部署访问文件并创建一个愚蠢的webform来启动它吗?
我创建了webform但是如何将mdb
文件添加到部署过程中?我必须将它添加到资源?在那种情况下嵌入或不嵌入?
在这种情况下,clickonce如何检测到访问是修改过的?
答案 0 :(得分:0)
如果我理解正确,您的.mdb文件是SQL Server后端的前端。在这种情况下,是的,每个用户都应拥有自己的FE副本。如果您进行网络搜索,则可以使用许多解决方案来分发Access FE,而无需重新发明轮子。最受欢迎的是Tony的Auto FE Updater http://autofeupdater.com/。
答案 1 :(得分:-1)
最终找到解决方案:
我将数据库添加到资源,将构建操作设置为"内容",然后我的program.cs
就是:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
string nomeFile = @"\EW.accde";
string DestinationPath;
string codeBase = Assembly.GetExecutingAssembly().CodeBase;
UriBuilder uri = new UriBuilder(codeBase);
string path = Uri.UnescapeDataString(uri.Path);
DestinationPath = System.IO.Path.GetDirectoryName(path) + @"\Resources";
Process.Start(DestinationPath + nomeFile);
}
通过这种方式,我只需复制项目中的新数据库,然后使用clickonce来删除应用程序
安装完app后,只需启动数据库文件
即可