【小記】:最近基於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和統計圖的介紹,並推薦幾篇相關文件。整體采用分割法進行分析。先介紹思路和整體效果。然后進行知識點梳理總結,最后匯總。這樣形成知識分離化,隨后需要直接使用,也幫助需要之人。