找到正确的端口连接到skype数据库

时间:2017-01-21 09:03:29

标签: perl port skype dbi freetds

我正在尝试使用名为skype2的Skype元数据连接到Sybase数据库。 Perl中的代码和我使用DBI模块进行连接。

这是我的代码:

  my $dbh = DBI->connect("dbi:Sybase:server=skype2;database=*****", 'user', 'pass', {PrintError => 1});   

我已在位于[skype2]的{​​{1}}中设置了freetds.conf DSN:

/etc

问题是我需要通过数据库查询动态查找端口(这里是49396)。我应该使用netstat连接并搜索正确的端口,还是有更好的方法?

感谢您的回复。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您需要连接到数据库以查找辅助数据库的端口。您可以将PORT作为连接字符串的一部分提供,甚至可以作为变量。这是一个应该有用的示例连接字符串:

my $port = "1433";
my $dbh = DBI->connect('DBI:ODBC:DRIVER={FreeTDS};SERVER=yourfullserver.com;PORT=' . $port . ';DATABASE=yourdbname;TDS_Version=7.2', 'user', 'password', {PrintError => 1});

这将让您连接到动态端口。因此,连接到您的第一台服务器,从DB获取所需的端口号并将其保存到变量,然后连接到第二个数据库。祝你好运!