2017-01-21 33 views
1

Я пытаюсь подключиться к базе данных Sybase с метаданными о Skype под названием skype2. Код в Perl, и я использую модуль DBI для подключения.поиск подходящего порта для подключения к базе данных skype

Вот мой код:

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

Я создал [skype2] DSN в freetds.conf, расположенный в /etc:

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

Проблема заключается в том, что мне нужно найти порт динамически через запрос базы данных (здесь это 49396). Должен ли я использовать netstat для подключения и поиска подходящего порта, или есть лучший способ?

Благодарим за отзыв.

+0

Это о программном обеспечении чата Microsoft Skype? – simbabque

+0

@simbabque я не знаю точно. Используйте эту базу данных, чтобы найти все вызовы Skype для конкретного сообщества! – farzane

+0

Полагаю, вы имеете в виду Sybase, а не MySQL, так как это имя драйвера говорит? Поэтому кажется, что ваши операционные системы решили запустить сервер базы данных на нестандартном порту, и вам просто нужно подключиться к нему. Поскольку они, вероятно, не будут менять назначения портов каждый день, кажется разумным найти порт один раз и соответствующим образом изменить файл конфигурации. На самом деле это должно быть документировано где-то, так что вам не обязательно обезьяна с netstat ... – mbethke

ответ

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}); 

Это позволит подключиться к динамическому порту. Итак, подключитесь к первому серверу, получите номер порта, который вам нужен, и сохраните его в переменной, а затем подключитесь ко второй базе данных. Удачи!

 Смежные вопросы

  • Нет связанных вопросов^_^