最近看了很多網上關于VC++ ADO遠程訪問ACCESS資料庫的帖子。但是都沒有具體的實作方案,是不能實作嗎?
請問高手,客戶端怎么連接服務器的access的資料庫呢(以前使用ADO可以實作訪問本地資料庫)。本人對于遠程通信這塊不是很了解,請大師們指點一二。謝謝!
本地訪問的連接:m_Conn.SetConnectionString("Provider=Microsoft.ACE.OLEDB.12.0; Data Source= 資料庫名稱.accdb;");
遠程怎么訪問呢?目前打算使用IP地址訪問
uj5u.com熱心網友回復:
ACCESS遠程訪問需要特定的條件滿足才可以:ACCESS資料庫檔案必須在網路上共享。比如在你的局域網中有一臺計算機,計算機名叫“PC2014”,在此計算機的D盤上,有你的ACCESS資料庫檔案,那么把這個D盤設定為共享,并且打開修改權限。
接著你的連接字串可能這么寫:
m_Conn.SetConnectionString("Provider=Microsoft.ACE.OLEDB.12.0; Data Source= \\pc2014\d:\資料庫名稱.mdb;");
uj5u.com熱心網友回復:
真的很感謝你的回復。給的方案很明確。再次表示感謝。那我客戶端想要修改服務器上的資料庫。
我在客戶端上如何直接操作這個遠程資料庫呢?
還是我需要把send指令給服務器,服務器程式那邊操作資料庫,然后返還結果給客戶端。
我打算使用Socket類。
我是初次接觸通信這塊,希望得到進一步幫助。
uj5u.com熱心網友回復:
你這種情況最好是使用 MS-SQL 或者 MYSQL,他們都是支持遠程訪問的資料庫,如果你要用ACCESS的話,可以按照我前面說的,直接在服務器上把這個ACCESS資料庫檔案共享,并且給設定可以讀寫的權限,然后在連接字串中,直接設定遠程資料庫的具體目錄位置即可:例如:服務器的IP地址是:192.168.18.100
m_Conn.SetConnectionString("Provider=Microsoft.ACE.OLEDB.12.0; Data Source= 192.168.18.100\\d:\\資料庫名稱.mdb;");
如果別人的服務器不讓進行這種設定(一般都不會讓你去動,除非你是管服務器的人),那么你就只有考慮在服務器端寫一個程式,接收來自客戶端的命令,然后用它去操作服務器上的ACCESS資料庫了。這種方法就比較麻煩了,作業量也大,還是推薦你換個資料庫,反正你用的是ADO,換個資料庫的話,只需要修改一下連接字串就行了
uj5u.com熱心網友回復:
這個如果是網站上的ACCESS資料庫基本上只有PHP、asp之類的一條路了,如果是自己的服務器或程式最佳的方案是使用SQLSERVER資料庫替換ACCESS資料庫,程式中查詢和連接部分稍微改一下就可以了,程式可以直連或通過Datasnap等技術建立中間服務器,客戶端遠程連接如果一定要使用ACCESS資料庫,那么可以共享資料庫檔案(可以映射為本地磁盤)、通過Datasnap中間服務器或類似功能的軟體,或干脆使用遠程桌面類軟體,或者一些有映射功能的VPN軟體
uj5u.com熱心網友回復:
很感謝大家的回復。目前測驗成功啦,很開心。只是連接字串Data Source=\\\\服務器名\\檔案夾 \\mydata.mdb 。
謝謝大家
uj5u.com熱心網友回復:
vc中有一些封裝好的第三方資料庫類轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/114455.html
標籤:網絡及通訊開發
上一篇:php如何處理大資料高并發
