我已经开发了一个应用程序在.mdb
访问文件与表链接到sql server
我试着把mdb
文件放在所有用户共享的文件夹中,但同时访问经常破坏文件。
所以我试图将.mdb
文件部署到每个客户端机器并保持更新。我已经创建了一个winform应用程序,检查mdb
文件版本并将其复制到本地文件夹,然后打开本地副本
但即使这样,如果太多用户同时使用winform启动程序,我也会遇到问题
所以我在想是否有更好更简单的方法:
我可以使用clickonce直接部署访问文件并创建一个愚蠢的webform来启动它吗?
我已经创建了webform,但我如何添加mdb
文件来部署进程?我必须把它添加到资源中吗?在这种情况下,嵌入与否?
,在这种情况下,clickonce如何检测访问是修改的访问?
如果我理解正确,您的.mdb文件是SQL Server后端的前端。在这种情况下,是的,每个用户都应该有自己的FE副本。如果你做一个网络搜索,有很多解决方案可以分发Access FE,而不必重新发明轮子。最喜欢的是Tony's Auto FE Updater http://autofeupdater.com/.
最终找到了解决方案:我将db添加到资源中,将构建动作设置为"内容",然后我的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);
}
以这种方式,我只需复制新的db项目,然后深度应用与clickonce
一旦安装应用程序只需启动数据库文件