人気ブログランキング | 話題のタグを見る
【どハマり】 プロキシの背後からMySQLサーバー (Ensembl) にアクセスできない・・・
 Ensemblから、データを取得するスクリプトをPerlで作ってます。・・・が、大ハマり中。
 PerlのEnsEMBLモジュールをつかって、EnsemblのMySQLサーバーに接続しようとしてるんだけど、なぜか接続出来ず・・・。

 チュートリアル通りに、次のようなスクリプトを作って、実行すると


use Bio::EnsEMBL::DBSQL::DBAdaptor;

my $host = 'ensembldb.ensembl.org';
my $user = 'anonymous';
my $dbname = 'mus_musculus_core_37_34e';

my $db = new Bio::EnsEMBL::DBSQL::DBAdaptor(
-host => $host,
-user => $user,
-dbname => $dbname);

my $gene_adaptor = $db->get_GeneAdaptor();



 下のエラーが表示される。


Could not connect to database mus_musculus_core_37_34e as user anonymous using [DBI:mysql:database=mus_musculus_core_37_34e;host=ensembldb.ensembl.org;port=3306] as a locator:
Unknown MySQL server host 'ensembldb.ensembl.org' (11004) at {EnEMBLモジュールのパス}/Bio/EnsEMBL/DBSQL/DBConnection.pm line 199.



 エラーを見る限り、ensembldb.ensembl.org っていうのをDBI::MySQL がホスト名として認識してないっぽい。このアドレスに ping を打っても、nslookup しても色よい返事が無いあたり、問題はネットワークにありそう。

 Web上でネットワークをテストしてみたらきちんと返事が返ってくる。うーん、やっぱプロキシ?ローカルのMySQLにはちゃんと繋がるし。

 たぶん、こんな感じなんだと思う。
Ensembl (MySQLサーバー) >>> (越えられない壁 (プロキシ)) >>> 僕のPC

 今日一日、ほとんどこれでつぶれたよ。トホホ・・・。誰か、解決方法知らないですか?

5/17 追記
 社内の人に解決策を聞いてみたところ、「MySQLプロトコル(port:3306)用のプロキシが用意されていないから、プロキシを越えるのは不可能じゃないか?」とのこと。うーん、納得。こりゃ、お客さんとこで開発するしかないなぁ・・・。
by fkmn | 2006-05-15 23:42 | IT
<< 【感想】99・9%は仮説 思い... 遺伝子発現データベースが数十分... >>


とあるWebアプリケーションエンジニアの日記

by fkmn
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
カテゴリ
以前の記事
ブログパーツ
リンク
検索
タグ
最新のトラックバック
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧

fkmnの最近読んだ本 フィードメーター - フッ君の日常 あわせて読みたい AX