全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3137
推到 Plurk!
推到 Facebook!

有關連接遠端資料庫

尚未結案
sssssuen
一般會員


發表:11
回覆:23
積分:6
註冊:2009-07-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-08-13 16:23:27 IP:158.132.xxx.xxx 訂閱
我寫了一個程式可以access在localhost的資料庫

但如果我申請了一個web hosting
並有MySQL 的服務

但並不支援remote access

請問我有方法可以透過delphi 的program 取得資料庫的資料嗎?
謝謝!
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-08-13 19:05:14 IP:61.66.xxx.xxx 訂閱
要看元件耶
基本上 搜尋一下 libmysql41.dll 相關的資訊
應該可以解答你的疑惑!!
------
======================
昏睡~
不昏睡~
不由昏睡~
sssssuen
一般會員


發表:11
回覆:23
積分:6
註冊:2009-07-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-08-13 19:42:05 IP:158.132.xxx.xxx 訂閱

如果web hosting的sql不支援remote access
libmysql.dll還可以連上sql嗎?

我搜尋了很多文章
好像一定要用web service解決?

===================引 用 ko 文 章===================
要看元件耶
基本上 搜尋一下 libmysql41.dll 相關的資訊
應該可以解答你的疑惑!!
ckwong2002
一般會員


發表:6
回覆:11
積分:3
註冊:2006-07-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-08-13 22:59:53 IP:219.79.xxx.xxx 訂閱
你可以用 myDac 連接mysql database , 十分好用.
sssssuen
一般會員


發表:11
回覆:23
積分:6
註冊:2009-07-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-08-14 00:03:27 IP:123.203.xxx.xxx 訂閱
myDac能作remote access?還是只是local access?


===================引 用 ckwong2002 文 章===================
你可以用 myDac 連接mysql database , 十分好用.
ckwong2002
一般會員


發表:6
回覆:11
積分:3
註冊:2006-07-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-08-14 00:27:57 IP:219.79.xxx.xxx 訂閱
dephi 可以通過 Mydac 取得remote server 的資料
sssssuen
一般會員


發表:11
回覆:23
積分:6
註冊:2009-07-17

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-08-14 00:32:13 IP:123.203.xxx.xxx 訂閱
但如果該server並不support remote access
也可以通過Mydac取得database的資料?
請問有參考的資料嗎?
謝謝!

===================引 用 ckwong2002 文 章===================
dephi 可以通過 Mydac 取得remote server 的資料
carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-08-14 07:28:04 IP:219.84.xxx.xxx 訂閱
remote web hosting 表示那台主機不是自己的,而是別人家的。

各位大大回答的用 libmysql41.dll 跟 myDac ,我覺得好像怪怪的,也許是我孤漏寡聞。

但 web hosting 如果只提供 80 port 的accesss,沒有提供其它方法外 就算用這些元件就真的能直接access到mysql嗎?

就算真的可以,也應該要在 host端加裝一些Agent之類的東西才能Access吧,可是 web hosting似乎不太可能提供這種讓客戶安裝Agent的服務才對。

我個人覺得可行性有幾個

1.web services : 寫一個類似像 3-tier 的中繼web services,但前提是對方的server 要有提供web services的功能。

2.web data access: 寫一個 web 頁面,可以帶參數,參數就是sql command。然後把data結果以text or html呈現。
而Delphi 要傳SQL Command就用 tbrowser 去開啟網頁並帶SQL參數,然後去讀取結果頁面分析裡面的回傳DATA。
再把資料呈現在 AP 上。

第2個選項比較可行,可是耗的工時不少。


以上參考



===================引 用 sssssuen 文 章===================
我寫了一個程式可以access在localhost的資料庫

但如果我申請了一個web hosting
並有MySQL 的服務

但並不支援remote access

請問我有方法可以透過delphi 的program 取得資料庫的資料嗎?
謝謝!
sssssuen
一般會員


發表:11
回覆:23
積分:6
註冊:2009-07-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2009-08-14 09:46:32 IP:123.203.xxx.xxx 訂閱
謝謝你的回覆

請問一下
為什麼方法2比較可行呢?

===================引 用 carstyc 文 章===================
remote web hosting 表示那台主機不是自己的,而是別人家的。

各位大大回答的用 libmysql41.dll 跟 myDac ,我覺得好像怪怪的,也許是我孤漏寡聞。

但 web hosting 如果只提供 80 port 的accesss,沒有提供其它方法外 就算用這些元件就真的能直接access到mysql嗎?

就算真的可以,也應該要在 host端加裝一些Agent之類的東西才能Access吧,可是 web hosting似乎不太可能提供這種讓客戶安裝Agent的服務才對。

我個人覺得可行性有幾個

1.web services : 寫一個類似像 3-tier 的中繼web services,但前提是對方的server 要有提供web services的功能。

2.web data access: 寫一個 web 頁面,可以帶參數,參數就是sql command。然後把data結果以text or html呈現。
而Delphi 要傳SQL Command就用 tbrowser 去開啟網頁並帶SQL參數,然後去讀取結果頁面分析裡面的回傳DATA。
再把資料呈現在 AP 上。

第2個選項比較可行,可是耗的工時不少。


以上參考



===================引 用 sssssuen 文 章===================
我寫了一個程式可以access在localhost的資料庫

但如果我申請了一個web hosting
並有MySQL 的服務

但並不支援remote access

請問我有方法可以透過delphi 的program 取得資料庫的資料嗎?
謝謝!
carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#10 引用回覆 回覆 發表時間:2009-08-14 09:56:26 IP:203.79.xxx.xxx 訂閱
因為全部都是自己寫,不用靠 host 技術支援。

比如你要 select * from tableA

你就用 TBrowser 去開啟 http://remotehost.url/getDATA.asp?SQL=select * from tableA

然後這個getDATA.asp 就要自己去組結果,將回覆內容弄成如下



aaaa1
bbbb1


aaaa2
bbbb2




然後Delphi 端再根據這結果自己再去分析,然後呈現在UI上。

想了就覺得可怕,好大的工。

祝好運



===================引 用 sssssuen 文 章===================
謝謝你的回覆

請問一下
為什麼方法2比較可行呢?

sssssuen
一般會員


發表:11
回覆:23
積分:6
註冊:2009-07-17

發送簡訊給我
#11 引用回覆 回覆 發表時間:2009-08-14 09:58:24 IP:123.203.xxx.xxx 訂閱
謝謝你的解答。
那麼方法1需要host什麼技術支援?

===================引 用 carstyc 文 章===================
因為全部都是自己寫,不用靠 host 技術支援。

比如你要 select * from tableA

你就用 TBrowser 去開啟 http://remotehost.url/getDATA.asp?SQL=select * from tableA

然後這個getDATA.asp 就要自己去組結果,將回覆內容弄成如下



aaaa1
bbbb1


aaaa2
bbbb2




然後Delphi 端再根據這結果自己再去分析,然後呈現在UI上。

想了就覺得可怕,好大的工。

祝好運



===================引 用 sssssuen 文 章===================
謝謝你的回覆

請問一下
為什麼方法2比較可行呢?
carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#12 引用回覆 回覆 發表時間:2009-08-14 10:07:39 IP:203.79.xxx.xxx 訂閱
就是可以提供使用者佈署 web services 。

要看 host 端的 web services 是什麼架構... .net or java ,就要配合它們的佈署方式。

如果你的 host 廠商有提供這種服務,應該會有說明介紹如何佈署。

但我個人覺得,機會不大。一般的host廠商 應該不會提供這種服務才對。

所以 方案2 才是王道.....


其實方案2也沒那麼複雜,只要一支 web ap 就解決了,這隻web ap 就是用來接收SQL COmmand,執行並產生結果頁面。

然後供Delphi 去做分析。只要做一次工,就能讓Delphi 不斷的使用了。

呵呵....加油....



===================引 用 sssssuen 文 章===================
謝謝你的解答。
那麼方法1需要host什麼技術支援?

===================引 用 carstyc 文 章===================
因為全部都是自己寫,不用靠 host 技術支援。

比如你要 select * from tableA

你就用 TBrowser 去開啟 http://remotehost.url/getDATA.asp?SQL=select * from tableA

然後這個getDATA.asp 就要自己去組結果,將回覆內容弄成如下



aaaa1
bbbb1


aaaa2
bbbb2




然後Delphi 端再根據這結果自己再去分析,然後呈現在UI上。

想了就覺得可怕,好大的工。

祝好運



===================引 用 sssssuen 文 章===================
謝謝你的回覆

請問一下
為什麼方法2比較可行呢?
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#13 引用回覆 回覆 發表時間:2009-08-14 10:15:40 IP:61.66.xxx.xxx 訂閱
我[元件]的意思是有很多元件可以直接跟MYSQL建立連線執行SQL語法
所有的FUNCTION都寫在 libmysqlXX.dll裡面(XX代表版本)
因此我想把libmysqlXX的資訊PO上來應該可以讓您有頭緒,不料效果正好相反...
我是用 ZEOSDBO 的元件組,配合libmysql41.dll就可以直接用IP來連線(當然可以自行設定PORT)
------
======================
昏睡~
不昏睡~
不由昏睡~
sssssuen
一般會員


發表:11
回覆:23
積分:6
註冊:2009-07-17

發送簡訊給我
#14 引用回覆 回覆 發表時間:2009-08-14 10:25:23 IP:123.203.xxx.xxx 訂閱
原來是這樣...

再問一下...如果我要用方法2
我該用什麼key word去搜尋這方面的資料?
謝謝!


===================引 用 carstyc 文 章===================
就是可以提供使用者佈署 web services 。

要看 host 端的 web services 是什麼架構... .net or java ,就要配合它們的佈署方式。

如果你的 host 廠商有提供這種服務,應該會有說明介紹如何佈署。

但我個人覺得,機會不大。一般的host廠商 應該不會提供這種服務才對。

所以 方案2 才是王道.....


其實方案2也沒那麼複雜,只要一支 web ap 就解決了,這隻web ap 就是用來接收SQL COmmand,執行並產生結果頁面。

然後供Delphi 去做分析。只要做一次工,就能讓Delphi 不斷的使用了。

呵呵....加油....



===================引 用 sssssuen 文 章===================
謝謝你的解答。
那麼方法1需要host什麼技術支援?

===================引 用 carstyc 文 章===================
因為全部都是自己寫,不用靠 host 技術支援。

比如你要 select * from tableA

你就用 TBrowser 去開啟 http://remotehost.url/getDATA.asp?SQL=select * from tableA

然後這個getDATA.asp 就要自己去組結果,將回覆內容弄成如下



aaaa1
bbbb1


aaaa2
bbbb2




然後Delphi 端再根據這結果自己再去分析,然後呈現在UI上。

想了就覺得可怕,好大的工。

祝好運



===================引 用 sssssuen 文 章===================
謝謝你的回覆

請問一下
為什麼方法2比較可行呢?
sssssuen
一般會員


發表:11
回覆:23
積分:6
註冊:2009-07-17

發送簡訊給我
#15 引用回覆 回覆 發表時間:2009-08-14 10:27:46 IP:123.203.xxx.xxx 訂閱
其實我現在以localhost作測試的時候也有用到libmysql.dll

但因為web hosting方面並不支援remote access
所以不知道應該用哪一個ip可以直接連線?
這方面不太明白...

===================引 用 ko 文 章===================
我[元件]的意思是有很多元件可以直接跟MYSQL建立連線執行SQL語法
所有的FUNCTION都寫在 libmysqlXX.dll裡面(XX代表版本)
因此我想把libmysqlXX的資訊PO上來應該可以讓您有頭緒,不料效果正好相反...
我是用 ZEOSDBO 的元件組,配合libmysql41.dll就可以直接用IP來連線(當然可以自行設定PORT)
carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#16 引用回覆 回覆 發表時間:2009-08-14 10:31:34 IP:203.79.xxx.xxx 訂閱
ko 大大,請教一下,這一部份我不是很懂。

你說用 libmysql41.dll就可以直接用IP來連線(當然可以自行設定PORT)

可是 Server端完全不用另外裝什麼Agent 之類的東西,就能直接連線嗎?

它的運作原理為何,我實在無法想像它怎麼辦到的?

比如我 Client端指定 80 port,Server端那裡如何 把MYSQL 的服務由 3306 轉到 80 Port去...

煩請指教,謝謝





===================引 用 ko 文 章===================
我[元件]的意思是有很多元件可以直接跟MYSQL建立連線執行SQL語法
所有的FUNCTION都寫在 libmysqlXX.dll裡面(XX代表版本)
因此我想把libmysqlXX的資訊PO上來應該可以讓您有頭緒,不料效果正好相反...
我是用 ZEOSDBO 的元件組,配合libmysql41.dll就可以直接用IP來連線(當然可以自行設定PORT)
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#17 引用回覆 回覆 發表時間:2009-08-14 10:47:54 IP:61.66.xxx.xxx 訂閱

libmysql41.dll是LIB庫
主要是ZEOSDBO 可以取用裡面的FUNCTION來取得MYSQL服務
所以只要A電腦有MYSQL服務並且網路有對外IP就可以連線
等同於您用PHP 寫CONNECTION來連結
至於PORT當然要從SERVER的設定來改..若是對方只開放80-PORT
那也沒折!!

===================引 用 carstyc 文 章===================
ko 大大,請教一下,這一部份我不是很懂。

你說用 libmysql41.dll就可以直接用IP來連線(當然可以自行設定PORT)

可是 Server端完全不用另外裝什麼Agent 之類的東西,就能直接連線嗎?

它的運作原理為何,我實在無法想像它怎麼辦到的?

比如我 Client端指定 80 port,Server端那裡如何 把MYSQL 的服務由 3306 轉到 80 Port去...

煩請指教,謝謝





===================引 用 ko 文 章===================
我[元件]的意思是有很多元件可以直接跟MYSQL建立連線執行SQL語法
所有的FUNCTION都寫在 libmysqlXX.dll裡面(XX代表版本)
因此我想把libmysqlXX的資訊PO上來應該可以讓您有頭緒,不料效果正好相反...
我是用 ZEOSDBO 的元件組,配合libmysql41.dll就可以直接用IP來連線(當然可以自行設定PORT)
------
======================
昏睡~
不昏睡~
不由昏睡~
編輯記錄
ko 重新編輯於 2009-08-14 10:51:44, 註解 無‧
sssssuen
一般會員


發表:11
回覆:23
積分:6
註冊:2009-07-17

發送簡訊給我
#18 引用回覆 回覆 發表時間:2009-08-14 14:46:43 IP:123.203.xxx.xxx 訂閱

如果對方會開放其他port
是否也代表他支援remote access呢?

===================引 用 ko 文 章===================

libmysql41.dll是LIB庫
主要是ZEOSDBO 可以取用裡面的FUNCTION來取得MYSQL服務
所以只要A電腦有MYSQL服務並且網路有對外IP就可以連線
等同於您用PHP 寫CONNECTION來連結
至於PORT當然要從SERVER的設定來改..若是對方只開放80-PORT
那也沒折!!

===================引 用 carstyc 文 章===================
ko 大大,請教一下,這一部份我不是很懂。

你說用 libmysql41.dll就可以直接用IP來連線(當然可以自行設定PORT)

可是 Server端完全不用另外裝什麼Agent 之類的東西,就能直接連線嗎?

它的運作原理為何,我實在無法想像它怎麼辦到的?

比如我 Client端指定 80 port,Server端那裡如何 把MYSQL 的服務由 3306 轉到 80 Port去...

煩請指教,謝謝





===================引 用 ko 文 章===================
我[元件]的意思是有很多元件可以直接跟MYSQL建立連線執行SQL語法
所有的FUNCTION都寫在 libmysqlXX.dll裡面(XX代表版本)
因此我想把libmysqlXX的資訊PO上來應該可以讓您有頭緒,不料效果正好相反...
我是用 ZEOSDBO 的元件組,配合libmysql41.dll就可以直接用IP來連線(當然可以自行設定PORT)
carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#19 引用回覆 回覆 發表時間:2009-08-14 15:42:12 IP:203.79.xxx.xxx 訂閱
不一定吧

開放其它port 應該是指有其它的Service 開放,所以開放那些service的port

但mysql 預設是 3306 ,除非他願意把 3306 開放出來,或是用另一個 port ,把3306 轉到那個port。

不過我想這都不會是 web hosting 願意做的事,詳情你還是可以直接問該公司的技術單位。


===================引 用 sssssuen 文 章===================

如果對方會開放其他port
是否也代表他支援remote access呢?

===================引 用 ko 文 章===================

libmysql41.dll是LIB庫
主要是ZEOSDBO 可以取用裡面的FUNCTION來取得MYSQL服務
所以只要A電腦有MYSQL服務並且網路有對外IP就可以連線
等同於您用PHP 寫CONNECTION來連結
至於PORT當然要從SERVER的設定來改..若是對方只開放80-PORT
那也沒折!!

===================引 用 carstyc 文 章===================
ko 大大,請教一下,這一部份我不是很懂。

你說用 libmysql41.dll就可以直接用IP來連線(當然可以自行設定PORT)

可是 Server端完全不用另外裝什麼Agent 之類的東西,就能直接連線嗎?

它的運作原理為何,我實在無法想像它怎麼辦到的?

比如我 Client端指定 80 port,Server端那裡如何 把MYSQL 的服務由 3306 轉到 80 Port去...

煩請指教,謝謝





===================引 用 ko 文 章===================
我[元件]的意思是有很多元件可以直接跟MYSQL建立連線執行SQL語法
所有的FUNCTION都寫在 libmysqlXX.dll裡面(XX代表版本)
因此我想把libmysqlXX的資訊PO上來應該可以讓您有頭緒,不料效果正好相反...
我是用 ZEOSDBO 的元件組,配合libmysql41.dll就可以直接用IP來連線(當然可以自行設定PORT)
earthday
一般會員


發表:3
回覆:11
積分:2
註冊:2004-10-17

發送簡訊給我
#20 引用回覆 回覆 發表時間:2010-03-10 22:58:04 IP:114.37.xxx.xxx 訂閱
我本來也想跟你的作法一樣,去申請一個免費的 mysql 網站,但是無奈他們都只開放 80 port
如果要開放 3306 port 則要額外付費,試了好幾個網站都一樣,所以最後只好放棄。
再加上自己只是業餘玩家,功力還沒高到可以寫 3-teir or web ap,所以找替代方案了。

我現在的作法是 自己找一台舊機器安裝 ubuntu server 架 mysql,然後再去 no-ip 申請 host
結果
Bingo,所有的問題都迎刃而解。
還可以架 web server 以及 ftp server、遠端遙控等。
ubuntu 真是太棒了,簡單易學穩定。
提供您作參考。

===================引 用 sssssuen 文 章===================
我寫了一個程式可以access在localhost的資料庫

但如果我申請了一個web hosting
並有MySQL 的服務

但並不支援remote access

請問我有方法可以透過delphi 的program 取得資料庫的資料嗎?
謝謝!
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#21 引用回覆 回覆 發表時間:2010-04-23 15:58:47 IP:122.117.xxx.xxx 訂閱
如果是要用windows ap 的話,可以試試看使用 indy 的 tcp client&server 去做資料的傳輸!
應該會比較簡單一點喔!
------
Pillar Wang
系統時間:2024-03-29 6:28:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!