dbi远程连接mssql,程序像死了一样没反应

dbi远程连接mssql,程序像死了一样没反应

我想让服务器上的cgi程序访问我本机上的mysql库,我本机的IP是192.168.2.30
我是这样写的:
my ($dsn) = "DBI:mysql:test:192.168.2.30";
my ($user_name) = "root";
my ($password) = "root";
my ($dbh, $sth);

$dbh = DBI- >connect ($dsn, $user_name, $password, {RaiseError= >1});
可是程序就像死了一样,什么反应都没有
我已经在我本机的mysql上运行了grant all *.* to root@那条语句
怎么还不行呢?
我也试着在本机的mysql的配置文件里加了一句,skip-name-resolve,
但是加了以后我本机都不能访问本机上的mysql了
没有反应是太慢的原因吗?该怎么写呢?

顺便提一下,本机上是windows,mysql是5.0的,
服务器上是linux,版本是4.1的
这个有关系吗?
自己顶一下,唉,没人能帮忙吗
先在本机上用MYSQL的客户端连接到服务器试试。如果不行,在本机上telnet到服务器的3306端口试试。如果也死掉的话,检查一下防火墙什么的。
谢谢楼上的
我搞了快四个小时了,终于搞通了
首先,程序死了是因为我本机的防火墙开着,我一关,马上程序就出来个结果,而不是以前半死不动了,晕死
第二,服务器上的mysql是4.1,版本低,连我的本机windows上的5.0,有问题
会报这个错
Client does not support authentication protocol requested by server; consider upgrading MySQL client
然后把本机上的mysql的密码方式改成4.1的认证方式就行了
这样改:

UPDATE mysql.user
SET password=OLD_PASSWORD('somepassword')
WHERE user='someuser'
AND host='somehost';

flush privileges;

连接mysql的程序是这样写的:

#!/usr/bin/perl -w

use strict;
use warnings;
use DBI;

my $db = 'dbname';
my $host = '192.168.2.30';
my $user = 'root';
my $pass = 'root';

#DBI->trace(1);

print "HERE\n";
my $dsn = "DBI:mysql:database=$db;host=$host";
my $dbh = DBI->connect( $dsn, $user, $pass, { RaiseError => 1 }) or die ( "Couldn't connect to database: " . DBI->errstr );

print "DONE\n";