【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

篇一:WinForm开发总体概述与技术实现

篇二:WinForm开发扇形图统计和Excel数据导出

篇三:Access远程连接数据库和窗体打包部署


【小记】:最近基于WinForm+Access数据库完成一个法律咨询管理系统。本系统要求类似网页后台管理效果,并且基于局域网内,完成多客户端操作同一数据库,根据权限不同分别执行不同功能模块。核心模块为级联统计类型管理、数据库咨询数据扇形统计、树的操作、咨询数据的管理、手写分页、Excel数据的导出、多用户操作服务器数据等。并支持多用户同时操作,远程连接数据库且对数据IP信息的修改。开发过程中特别对界面的要求和事后多用户操作显得略为麻烦。自此,本项目得以完善交付,然后对其进行小结。依旧采用整个框架认识,核心知识逐个梳理分析,以便于二次开发和需要之程序员共享。


篇三:Access远程连接数据库和窗体打包部署

【开篇】本章概述


一、Access实现远程连接数据库 

所遇问题和解决方案:之前介绍多,之前大都采用Oracle和Server已经MySQL开发,虽然Access数据库开发倒也使用过。但是远程配置还是第一次,所以开始就遇到棘手问题。那么如果配置数据库,如何达到远程的效果?

第一思路:采用ftp配置服务器,其他客户端访问我的IP地址和端口即可。于是下载一个简易的FTP软件,将本地数据库上传。可以连接数据库遇到问题了,无法访问此文件。原则上是可行的,后来项目总结发现当时自己本地配置,外加sql连接语句的问题。导致原因所在吧。后来采用第二种思路。

第二思路:局域网内使用VPN进行访问,然后连接共享文件夹。于是对VPN进行配置(VPN配置,文件共享,远程设置等信息随后会在技术梳理具体展开),在配置完成后,共享文件,安装客户端程序依旧无法实现连接。那么几经折腾之后决定采用第三种思路。

第三思路:直接采用远程连接数据库,在服务器共享文件配置IP地址,前期还是无法实现局域网共享的效果。后来得以解决,如何解决随后小结中结合VPN失败原因对比分析。

以上三种思路,最终得以实现远程效果,效果图如下:

【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

以上问题分析:

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生成

【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

【篇中】知识梳理


1、如何配置连接VPN?

VPN服务器:  进入网络共享中心->更改适配器设置->是否有菜单栏(没有则点击Alt建)->文件->新建传入连接->添加新的用户->设置用户名、密码->确定->下一步->最后配置完成。

客户端连接:   进入网络共享中心->设置新的网络和连接->连接到工作区->下一步->使用我的Inter连接(VPN)->输入连接的IP地址->创建->输入用户名、密码(类似宽带连接)。

2、如何使用FTP?

两种方式:1.下载个迷你FTP服务器,设置IP地址,端口号。选择是否需要登陆验证,如果选中则提示设置账户密码。启动后进行测试。测试成功后,可以点击浏览选中生成文件。

【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

2.下载FTP软件,特别在发布网站时候,通过输入你的域名空间。然后将VS中的项目打包生成,将生成后的文件进行上传到空间中即可。

3、如何设置文件共享?

1 将需要共享的文件放到一个文件夹中,右键点击文件夹,查看共享->特定用户->点击下拉框选择用户,点击添加->对权限级别进行设置->共享

2 打开控制面板->网络和Internet->网络和共享中心->更改高级共享设置->所有网络->关闭密码共享保护

【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

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和统计图的介绍,并推荐几篇相关文件。整体采用分割法进行分析。先介绍思路和整体效果。然后进行知识点梳理总结,最后汇总。这样形成知识分离化,随后需要直接使用,也帮助需要之人。

上一篇:C#_.NetFramework_Web项目_EXCEL数据导出


下一篇:利用linux curl爬取网站数据