2014-11-14 5 views
2

У нас есть несколько версий perl и нескольких версий freeTDS, скомпилированных в системе. Есть ли способ, который я могу сказать perl точно, какую версию freeTDS использовать, или это как-то встроено?Точка perl в специальной библиотеке freeTDS

«default» версия freeTDS, которая вызывается при использовании «DBI» в моем скрипте perl, указывает на версию, которая, похоже, не работает должным образом. Я обнаружил это через тестирование с помощью команды tsql, которая поставляется с freeTDS. если я запустил его из этой версии, сбой. Если я выйду из другой версии freeTDS, которую мы установили, она прекрасно соединяется.

Но теперь я не знаю, как указать perl в другой версии freeTDS.

+0

Какая у вас ОС? – dsolimano

+0

Вы используете freeTDS для подключения к Sybase или к серверу MSSQL или к тому и другому? – knb

+0

Подключение к MSSQL из Linux – Gargoyle

ответ

1

Вот ссылка о том, как указать, какую версию модуля, который вы хотите использовать: perldoc

Является ли, по существу, use module version;

Вот ссылка на perlmonks, где обсуждается настройка FreeTDS: perlmonks

+0

'использование версии модуля 'не имеет ничего общего с этим вопросом; это только указание минимальной версии модуля Perl, который вы загружаете. – cjm

1

Библиотека freeTDS должна быть указана, когда соответствующий драйвер DBD (я думаю, DBD::Sybase) установлен/скомпилирован.

0

Я предполагаю, что вы используете DBD::Sybase в качестве вашего драйвера. При создании модуля, необходимо предоставить две переменные среды:

  • $SYBASE: путь к уже построенной FreeTDS SDK: на Linux, что будет путь к каталогу, содержащему два подкаталога:
    • include (.h файлы)
    • lib64 (.a файлы)
  • $FREETDS: путь к FreeTDS конфиг
    • на Linux она должна содержать etc\*.conf, на Windows, она должна содержать непосредственно *.conf файлы
    • IIRC, эта переменная не используется, пока тест-фазы (т.е. время исполнения) DBD :: Sybase
Смежные вопросы