【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署
【小记】:最近基于WinForm+Access数据库完成一个法律咨询管理系统。本系统要求类似网页后台管理效果,并且基于局域网内,完成多客户端操作同一数据库,根据权限不同分别执行不同功能模块。核心模块为级联统计类型管理、数据库咨询数据扇形统计、树的操作、咨询数据的管理、手写分页、Excel数据的导出、多用户操作服务器数据等。并支持多用户同时操作,远程连接数据库且对数据IP信息的修改。开发过程中特别对界面的要求和事后多用户操作显得略为麻烦。自此,本项目得以完善交付,然后对其进行小结。依旧采用整个框架认识,核心知识逐个梳理分析,以便于二次开发和需要之程序员共享。
篇三:Access远程连接数据库和窗体打包部署
【开篇】本章概述
一、Access实现远程连接数据库
所遇问题和解决方案:之前介绍多,之前大都采用Oracle和Server已经MySQL开发,虽然Access数据库开发倒也使用过。但是远程配置还是第一次,所以开始就遇到棘手问题。那么如果配置数据库,如何达到远程的效果?
第一思路:采用ftp配置服务器,其他客户端访问我的IP地址和端口即可。于是下载一个简易的FTP软件,将本地数据库上传。可以连接数据库遇到问题了,无法访问此文件。原则上是可行的,后来项目总结发现当时自己本地配置,外加sql连接语句的问题。导致原因所在吧。后来采用第二种思路。
第二思路:局域网内使用VPN进行访问,然后连接共享文件夹。于是对VPN进行配置(VPN配置,文件共享,远程设置等信息随后会在技术梳理具体展开),在配置完成后,共享文件,安装客户端程序依旧无法实现连接。那么几经折腾之后决定采用第三种思路。
第三思路:直接采用远程连接数据库,在服务器共享文件配置IP地址,前期还是无法实现局域网共享的效果。后来得以解决,如何解决随后小结中结合VPN失败原因对比分析。
以上三种思路,最终得以实现远程效果,效果图如下:
以上问题分析:
1、首先解决远程共享,如何连接成功?
前提是局域网内远程连接数据库,随后服务器进行数据文件共享,如何保证文件的安全性随后介绍。然后访问IP地址,IP地址可以更改的,因为如果服务器稳定尚可。我所遇到的客户服务器就是本地笔记本电脑,在联网时候IP地址随时可以变化,或者更换服务器时。IP地址灵活性显得重要,故不可写死。但是问题出现了,很多人或许开始时候也遇到过,IP地址保存的问题。笔者最终没有找到更好的解决方案,只是以config文件中写入数据库连接语句,然后将其保存到本地磁盘中。这样修改IP时候,在服务器本地保存。
2、如何控制数据库文件安全性?
安全性问题一直是程序员最为关注问题之一,由于本人针对的客户是同一个公司,10多人操作,基本都不懂软件方面技术,再则拥有共同利益,不会对外开放,利益分配上对安全性起一定作用。故做些简单操作即可,但是面对更多用户,如何更好完善,大家有好的想法可供讨论。我则直接采用在accdb文件中进行数据库加密。
3、如此远程连接会有隐患问题?
因为远程连接可以查看服务器所有信息,特别针对服务器为本地电脑。假如管理员服务器电脑有些隐私,私人信息,密码复制文本或你懂的视频什么的,遇到女同事访问,也显得不好不是。故此,远程连接可以解决问题,但是远程的同时,你的信息无意全部暴露。基于此如何解决呢?可以采用VPN设置,通过VPN共享出来的文件,进行连接即可,其他非共享隐藏的。至于ftp,我认为可以达到最终效果的,笔者没有尝试,有兴趣的可以试试。
二、窗体的打包
1、选中解决方案->新建项目->其他项目类型->安装和部署->Visual Studio Installer->安装项目->更改名字和保存路径
2、1在应用程序文件夹右键选择输出文件->主输出->确定。
2再次 应用程序文件夹 属性添加文件,分别选择ico格式的安装和卸载快捷方式图片。再同样方式在C:\Windows\System32下找到mstsc.exe文件,进行添加。
3选择主输出,属性,创建快捷方式;选择mstsc,属性,创建快捷方式。
4在新建项目Setup1,按住F4查看属性,复制属性中producecode:{E9B10DB2-B42A-4CA5-9F12-B419BC939738}
5点击卸载某某管理系统,F4,参数,x/{E9B10DB2-B42A-4CA5-9F12-B419BC939738}.配置Icon图片
6同样方式设置安装某某管理系统的Icon
7应用程序文件夹,F4查看属性,[ProgramFilesFolder][Manufacturer]\[ProductName]中的删除[Manufacturer]
8选择生成项目Setup生成
【篇中】知识梳理
1、如何配置连接VPN?
VPN服务器: 进入网络共享中心->更改适配器设置->是否有菜单栏(没有则点击Alt建)->文件->新建传入连接->添加新的用户->设置用户名、密码->确定->下一步->最后配置完成。
客户端连接: 进入网络共享中心->设置新的网络和连接->连接到工作区->下一步->使用我的Inter连接(VPN)->输入连接的IP地址->创建->输入用户名、密码(类似宽带连接)。
2、如何使用FTP?
两种方式:1.下载个迷你FTP服务器,设置IP地址,端口号。选择是否需要登陆验证,如果选中则提示设置账户密码。启动后进行测试。测试成功后,可以点击浏览选中生成文件。
2.下载FTP软件,特别在发布网站时候,通过输入你的域名空间。然后将VS中的项目打包生成,将生成后的文件进行上传到空间中即可。
3、如何设置文件共享?
1 将需要共享的文件放到一个文件夹中,右键点击文件夹,查看共享->特定用户->点击下拉框选择用户,点击添加->对权限级别进行设置->共享
2 打开控制面板->网络和Internet->网络和共享中心->更改高级共享设置->所有网络->关闭密码共享保护
4、如何进行远程?
点击win+R->输入mstsc->确定->输入IP地址、用户名、密码.
注意一点:有时候都ok,但是还是连接失败,去查看远程设置中是否允许远程连接
点击计算机属性->远程设置->远程->选择允许连接
5、 Access数据库怎样完成连接,保存的?
两种Access的连接语句:
1.本地连接:<add name="sql" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=‘C:\Users\bncPc\db\Legal.accdb‘" />
2.远程连接:<add name="sql" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=//10.130.16.137/db/Legal.accdb" />
6、保存IP地址的方法?
通过控制操作config文件,具体方法如下:
private void save() { try { if (textBox3.Text != "") { XDocument doc = XDocument.Load(file); //sql数据库数据库配置 //string connstring = "initial catalog=Highway;Data Source=" + this.textBox3.Text + ";uid=" + this.textBox4.Text + ";pwd=" + this.textBox5.Text + ";"; //access数据库远程配置 //Provider=Microsoft.ACE.OLEDB.12.0;Data Source=//10.130.16.136/db/Legal.accdb string connstring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=//" + textBox3.Text.ToString()+ "/db/Legal.accdb"; doc.Elements("configuration").Elements("connectionStrings").Elements("add").Attributes("connectionString").FirstOrDefault().SetValue(connstring); doc.Save(file); //由于DBHelperSQL中的ConnectionString(公共静态变量)未被修改引发的bug XDocument xdoc = XDocument.Load(file); string val = doc.Elements("configuration").Elements("connectionStrings").Elements("add").Attributes("connectionString").FirstOrDefault().Value; SQLHelper.connstr = val; } else { return; } } catch (Exception ex) { MessageBox.Show(ex.Message+ex.StackTrace); //MessageBox.Show("数据库保存失败!!"); } }
附件:配置文档
【使用介绍】
一 本系统采用VS2010+Access完成,运行要求如下:
1 win7以上 操作系统
2 安装Office 2010以上版本
3 安装FromWork4.0插件和AccessDatabaseEngine.exe
二 管理员操作配置
1,将【法律咨询系统】文件夹下的【db文件夹】复制到c盘
2,设置db文件夹为共享
(1)右击文件夹-》共享-》特定用户-》添加Everyone用户,并设置读写。-》共享
(2)打开控制面板-》网络和Internet-》网络和共享中心-》更改高级共享设置-》所有网络-》关闭密码共享保护
3,安装db下的Microsoft.NET.exe
4,安装:法律咨询中心\Debug\Setup1.msi 卸载:法律咨询中心\Debug\setup.exe
三 客户端的使用
1,将【法律咨询系统】文件夹下的【client文件夹】复制到c盘
2,安装client下的Microsoft.NET.exe和AccessDatabaseEngine.exe
3,win+R打开cmd-》mstsc-》远程IP地址
4,打开软件服务器设置下更改管理员IP地址登录
四 初始化设置
1,管理员初始化:用户名:admin 密码:admin
2,用户初始化:用户名:ad 密码:123
五 常见登录失败解答
1 db/client文件夹是否拷贝到C盘
2 远程服务器是否成功
3 服务器设置下的IP地址是否配置正确。
【篇末】本章总结
截止此刻,Access远程连接数据库和窗体打包部署系列文章全部结束,本系列主要介绍一些Access远程连接操作,以及这个探索过程中,对ftp,vpn,文件共享等理解。中间对Excel和统计图的介绍,并推荐几篇相关文件。整体采用分割法进行分析。先介绍思路和整体效果。然后进行知识点梳理总结,最后汇总。这样形成知识分离化,随后需要直接使用,也帮助需要之人。
源码:Access远程访问XXXX系统.zip
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。