Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
abills:docs:manual:soft:perl_odbc [2014/12/11 16:14] asmodeus [CentOS] |
abills:docs:manual:soft:perl_odbc [2015/12/05 17:50] (текущий) |
||
---|---|---|---|
Строка 32: | Строка 32: | ||
ln -s /usr/local/freetds/lib /usr/local/freetds/lib64 | ln -s /usr/local/freetds/lib /usr/local/freetds/lib64 | ||
+ | поиск установленой библиотеки | ||
+ | |||
+ | sudo updatedb | ||
+ | locate libtdso | ||
+ | /usr/local/freetds/lib/libtdsodbc.so.0 | ||
+ | /usr/local/freetds/lib/libtdsodbc.so.0.0.0 | ||
+ | |||
+ | echo "[FreeTDS] | ||
+ | > Description = FreeTDS | ||
+ | > Driver = /usr/local/freetds/lib/libtdsodbc.so.0" >> tds.driver.template | ||
+ | | ||
+ | подключение ODBC | ||
+ | sudo odbcinst -i -d -f tds.driver.template | ||
+ | |||
+ | при успешном подключении | ||
+ | |||
+ | odbcinst: Driver installed. Usage count increased to 1. | ||
+ | Target directory is /etc | ||
+ | |||
+ | проверяем успешность подключения | ||
+ | |||
+ | odbcinst -q -d | ||
+ | |||
+ | вывод команды | ||
+ | |||
+ | [PostgreSQL] | ||
+ | [MySQL] | ||
+ | [FreeTDS] | ||
+ | |||
+ | |||
+ | настройка ODBC MS SQL | ||
+ | |||
+ | sudo su - | ||
+ | echo "[MSSQL] | ||
+ | Driver = FreeTDS | ||
+ | Address = IPADDRESSOFMSSQL | ||
+ | Port = 1433 | ||
+ | TDS_Version = 8.0 | ||
+ | Database = MYDATABASENAME" >> /etc/odbc.ini | ||
+ | | ||
+ | |||
+ | Тестируем ODBCconnect к MSSQL базе | ||
+ | |||
+ | isql -v -s MSSQL SQLUSERNAME SQLUSERPASSWORD | ||
+ | |||
+ | вывод | ||
+ | |||
+ | +---------------------------------------+ | ||
+ | | Connected! | | ||
+ | | | | ||
+ | | sql-statement | | ||
+ | | help [tablename] | | ||
+ | | quit | | ||
+ | | | | ||
+ | +---------------------------------------+ | ||
+ | SQL> | ||
+ | |||
+ | |||
+ | пример перл программы | ||
+ | |||
+ | <code> | ||
+ | |||
+ | #!/usr/bin/perl | ||
+ | use DBI; | ||
+ | use strict; | ||
+ | use DBI; | ||
+ | my @dsns = DBI->data_sources('ODBC'); | ||
+ | foreach my $d (@dsns) | ||
+ | { | ||
+ | print "$d\n"; | ||
+ | } | ||
+ | my $dbh = DBI-> connect('dbi:ODBC:DSN=MSSQL;UID=SQLUSERNAME;PWD=SQLUSERPASSWORD') or die "CONNECT ERROR! :: $DBI::err $DBI::errstr $DBI::state $!\n"; | ||
+ | if ($dbh) | ||
+ | { | ||
+ | print "There is a connection\n"; | ||
+ | my $sql = q/SELECT * FROM dbo.users/; | ||
+ | my $sth = $dbh->prepare($sql); | ||
+ | $sth->execute(); | ||
+ | my @row; | ||
+ | while (@row = $sth->fetchrow_array) { # retrieve one row at a time | ||
+ | print join(", ", @row), "\n"; | ||
+ | } | ||
+ | $dbh->disconnect; | ||
+ | } | ||
+ | |||
+ | </code> | ||