2013-03-07 84 views
0

我需要訪問我的vbulletin論壇數據庫而不是我的rails應用程序。 我創建了database.yml使用rails連接到外部數據庫

vbulletin: 
    adapter: mysql2 
    encoding: latin2 
    database: db_name 
    username: username 
    password: password 
    host: forum.hostname.pl 
    port: 3306 

vbulletin條目,創建簡單的模型vbuser.rb

class Vbuser < ActiveRecord::Base 
    establish_connection(:vbulletin) 
    self.table_name = 'user' 
end 

現在,我試圖運行Vbuser.last在控制檯卻得到: Mysql2::Error: Can't connect to MySQL server on 'forum.hostname.pl' (110)

可以採取什麼問題?

+0

使用管理控制檯,您可以使用database.yml中的詳細信息連接到數據庫嗎? – DaveStephens 2013-03-07 13:24:22

回答

1

兩個原因,我能想到的 - :要麼你已經提供了不正確的信息,或將主機不允許您可以直接連接。不要認爲這是一個Rails的具體問題。你可以做一些其他語言(php等)的快速檢查,看看你是否能夠連接?你的語法對我來說似乎很好。

要快速檢查本地主機上創建一個connect.php文件。

在該文件中

<?php 
$link=mysqli_connect('host','user','pwd','database') or die("can't connect"); 
if ($link) 
echo "Working"; 
mysqli_close($link); 
?> 

您能得到什麼?

+0

只運行'telnet forum.hostname.pl 3306'並得到'Trying xxx.xxx.xxx.xxx ... telnet:無法連接到遠程主機:連接超時'。等待我的管理員信息,也許他阻止外部連接? PS。你的腳本會給出相同的結果'無法連接到MySQL'。至少我知道這不是Rails問題,謝謝。 – 2013-03-07 13:29:15

+0

問題是數據庫用戶特權和防火牆設置。 – 2013-03-14 09:41:16