none
經網際網路遠端連線access資料庫的幾個方法? RRS feed

  • 問題

  • 各位先進大家好:

    請問:

    經網際網路遠端連線access資料庫,不是區域網路喔!

    方法:自己編寫伺服器程式,通過TCP/IP,傳遞Recordset

       經IP位址,Client端就能看到Server端的access資料庫嗎?

             如何做?請先進们指點!

       謝謝各位先進!

    2014年5月30日 上午 02:34

解答

  • Access 是檔案型資料庫

    不適用於網際網路存取,包含網路芳鄰。

    最多做成 Web Service 供資料交換。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2014年5月30日 下午 03:14
  • 不是已經說了嗎...用 Web Service 來做。

    透過網際網路讀資料應避免直接開放資料庫,檔案型資料庫更要避免。


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2014年6月4日 下午 01:12
    版主

所有回覆

  • 客戶端(VB)只要知道Internet上XML的位置就可以了.
    資料庫是Oracle、MS SQL/ACCESS、MySQL....等等。
    不論什麼客戶端的資料庫連線設定,使用ODBC建立連線,再使用ADO連結。
    端看哪個資料庫,可能要另外安裝DRIVER,例如MYSQL資料庫就有FREE DRIVER可以安裝連結。

    如果資料庫本身有伺服器機制,例如 SQL Server等(大部分較大型的資料庫都有)...等等,則使用 .Net Data Provider 連線 。
    如果資料庫本身沒有伺服器機制,例如 MS Access 等,則使用 OLE DB .Net Data Provider 連線。

    以XML的連線範例,就會像下面的例子:

    <add name="mydb" providerName="System.Data.SqlClient" connectionString="Server=tcp:1234.database.windows.net,1433;Database=mydb;User ID=webuser@1234;Password=1234;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" />

    不過可依連線設定的情況做調整,可參考微軟的MSDN。

    至於透過TCP/IP連線的話:

    Provider= XXX 改成 Data Source=IP,這是連SQL SERVER的方法。
    連結字串就有 Data Source=xx.xx.xx.xx (而且就是主機的 IP 位址),Provider 是用來指定連結用驅動程式。
    例如: Provider=SQLOLEDB 是指定用 SQL OLE-DB 存取,
    Provider=ODBC 是指定用 ODBC DSN 存取
    Provider=SQLNCLI 是指定用 SQL Native Client 存取

    不管選用何種結連方式,最後都要以 TCP Port 1433 (預設) 來收送 TSD 封包 !

    當然你也可以視規劃需求而調整你的IP和Port。

    不同的連結方式的差異在啟動連結時如何對資料庫作認証登入的方式 !

    希望能對你有幫助。

    開發者的異想世界-http://etroy-com.blogspot.tw/


    2014年5月30日 上午 02:52
  • Access 是檔案型資料庫

    不適用於網際網路存取,包含網路芳鄰。

    最多做成 Web Service 供資料交換。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2014年5月30日 下午 03:14
  • 網際網路遠端連線,可以選用 SQL Server "Express"版,它是功能限制的免費版,核心T-SQL的執行環境與正式版完全無差異。

    理直氣和,切記。

    推廣

    微軟免費中文影音線上教學網站

    個人

    2014年5月30日 下午 07:48
  • 我同意心冷大的說法, 如果是一定要用檔案型資料庫, 應該是需要用個中間層處理

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2014年5月31日 下午 03:50
    版主
  • 謝謝!

    電腦神手的分享!

    願你平安順心!

    2014年6月4日 下午 12:37
  • 謝謝你的提醒!

        使用VB6.0之TCP/IP的連線方法,使Client端和Server端透過IP遠端連線

               Server端建構了從工業控制器讀到的數值,放在 Server端Access的資料庫,

        希望能透過網路(不是區域網路喔!)從遠處Client端讀取和Server端一樣的Access

                資料表和數值。

        請問可行嗎?如何做?請先進指點!

        謝謝!

    2014年6月4日 下午 01:01
  • 不是已經說了嗎...用 Web Service 來做。

    透過網際網路讀資料應避免直接開放資料庫,檔案型資料庫更要避免。


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2014年6月4日 下午 01:12
    版主
  • 說實在的,廣義的來說,可以說是解答,狹義的說,雞同鴨講。

    T.L. Cheng

    2014年6月7日 上午 01:45
    版主