Исходный материал – это Fedora Core 6 ( но и на 8ой я тестил – работает) и MSSQL 2000
Сразу скажу, что в перле нет DBD::MSSQL, лично у меня – это сразу паника. Ну ничего. Есть такая умная штука как ODBC (Open DataBase Connectivity) она была создана именно для того, чтоб универсализировать доступ к различным типам баз данных, и по сути из себя представляет интерфейс. Я когда в буйной молодости кодил под винду, то сталкивался с этим, но тогда особо не заморачивался на тему «что оно такое?», и «как работает?». Так вот в линуксе есть подобная штука. Называется она unixODBC. ЕЕ и ставим.
Устанавливаем unixODBC.
-
yum install unixODBC.i386
Единственная проблема, что стандартные сошники есть только для MySQL и PostgreSQL. А на официальном сайте я нашел драйвер для Microsoft SQL Server – он прям там красуется на первом месте, но не могет не смущать надпись «Download free trial from…»
В этом случае спасает FreeTDS – это и есть те самые библиотеки для общения с Microsoft SQL Server и Sybase. И с ним тоже при установке не должно быть никаких проблем.
-
yum install freetds.i386
Не забываем поставить модуль для DBI.
-
cpan DBD::ODBC
дальше добавляем конфиг
в файл /etc/odbcinst.ini
-
[MyServer2k]
-
Driver = /usr/lib/libtdsodbc.so
На этом конфигурация закончена. В перле это происходит так:
-
my $dbh2 = DBI->connect("DBI:ODBC:DRIVER={MyServer2k};Server=10.1.1.1;Database=MSSQL_DB_NAME;Uid=DB_USER_NAME;Pwd=DB_PASSWORD", ' DB_USER_NAME', 'DB_PASSWORD',{AutoCommit => 1, RaiseError=> 1, PrintError =>0});



Recent Comments