我正在尝试使用名为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连接并搜索正确的端口,还是有更好的方法?
感谢您的回复。
答案 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获取所需的端口号并将其保存到变量,然后连接到第二个数据库。祝你好运!