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



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

这是我的代码:

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

我在freetds.conf中设置了一个[skype2]DSN,位于/etc:中

[skype2]
host = **.**.**.**
port = 49396
tds version = 7.0

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

感谢您的回复。

如果我理解正确,您需要连接到一个数据库来查找辅助数据库的端口。您可以将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});

这样你就可以连接到一个动态端口。所以,连接到你的第一台服务器,从数据库中获取你需要的端口号,并将其保存到一个变量中,然后连接到第二个数据库。祝你好运

最新更新