Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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>​