2012-06-08 44 views
1

晚上好。IDE中的SQL組件連接問題

我目前正在嘗試開始一個項目的開發,讓我的生活變得更輕鬆一些。本質上,我想連接到運行在遠程服務器上的MySQL數據庫,然後從那裏進入使用的幾個選項。相關數據庫用於安裝Joomla!,我的重點主要是管理桌面應用程序中的文章(而不是使用網站上的管理員後端)。

我已經讓我的自己的主機訪問遠程服務器(通過我的託管服務提供商使用的CPanel網絡接口),並確保LIBMYSQL.dllRAD Studio\9.0\bin文件夾內,並再次在我的可執行文件的文件夾(以避免任何與無法初始化驅動程序有關的問題)。我已使用MySQL Workbench成功連接到服務器,並可以自由查詢表格。現在,解決問題。

這是我的第一個數據庫應用程序,所以請理解一個簡單的或過度解釋,可能需要

我遇到的問題在設計時設置一些組件屬性。我有一個TSQLConnection組件,一個TSQLDataSet組件和一個TSQLTable組件。我在TSQLConnection中設置了服務器屬性以與我的服務器一起工作。

但是,如果我試圖從Delphi XE2 IDE內部數據庫中檢索任何東西(即出現登錄提示),如改變Active屬性爲true,我得到一個Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (10061)錯誤(其中「x」涉及到我的服務器的一部分IP)。

如果我運行應用程序本身,然後單擊我在界面上的「連接」按鈕,它連接正常,沒有錯誤。我將ShowMessage例程添加到AfterConnect,AfterDisconnectOnLogin事件TSQLConnection來驗證它實際上是否正在經歷,並且它們都按照我預期的成功運行。由於我還沒有編寫代碼來做任何事情(因爲仍然在學習基礎知識),所以在界面上沒有可供我使用的數據,但連接至少似乎在那裏。

爲了澄清,我可以從我開發(以及來自MySQL Workbench的應用程序連接,但不能從德爾福IDE本身。

所以,我在哪裏有這回事?

我我猜這可能是由於我自己對數據庫主題缺乏瞭解而造成的一些疏漏,但我非常希望能夠擴展出桌面環境並開始與IT領域的更多領域合作(不會失去開發我喜歡這麼多東西的一面)

+0

將TSQLConnection組件的'LoginPrompt'屬性設置爲false以避免登錄提示對話框顯示並檢查'params'屬性的值。 – RRUZ

+2

10061連接被拒絕,它可能是一個互聯網連接問題,而不是你的設置有問題(IP或端口以外)。確保IDE允許上線。 –

回答

1

As @SertacAkyuz指出我n原來的評論,這確實是一個與我的連接有關的問題,特別是防火牆設置。我曾假設「連接被拒絕」與正在進行的連接嘗試有關,但被遠程服務器主動拒絕。你懂得越多。