【基於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失敗原因對比分析。

以上三種思路,最終得以實現遠程效果,效果圖如下:

以上問題分析:

       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("數據庫保存失敗!!");
            }
        }
View Code

 

附件:配置文檔


【使用介紹】

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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM