Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Коннект из под FreeBSD к MSSQL 
:(
    Опции темы
GoodBoy
Дата 20.4.2006, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Пытаюсь присоединиться  к MSSQL - чёго-то не получается...  Если соединение такое:

Код
#!/usr/bin/perl

use strict;
use DBI;

my $hostname = '192.168.1.4';
my $database = 'test';
my $username = 'testuser';
my $password = 'test';

my $dbh = DBI->connect("DBI:ODBC:database=$database;host=$hostname", $username, $password) or die "Database connection failed: ".DBI::errstr;


получаю такое:

Цитата
DBI connect('database=test;host=192.168.1.4','testuser',...) failed: [iODBC][Driver Manager]No data source or driver specified, dialog prohibited (SQL-IM007)(DBD: db_login/SQLConnect err=-1) at ./mssql.pl line 11
Database connection failed: [iODBC][Driver Manager]No data source or driver specified, dialog prohibited (SQL-IM007)(DBD: db_login/SQLConnect err=-1) at ./mssql.pl line 11.




Если так:

Код
#!/usr/bin/perl

use strict;
use DBI;

my $hostname = '192.168.1.4';
my $database = 'test';
my $username = 'testuser';
my $password = 'test';
my $driver = '{SQL Server}';
my $port = 1433;

my $dbh = DBI->connect("DBI:ODBC:driver=$driver,$port;Server=$hostname;database=$database", $username, $password, {PrintError=>1}) or die "Database connection failed: ".DBI::errstr;


то результат такой:

Цитата
DBI connect('driver={SQL Server},1433;Server=192.168.1.4;database=test','testuser',...) failed: [iODBC][Driver Manager]Specified driver could not be loaded (SQL-IM003)
[iODBC][Driver Manager]Shared object "" not found, required by "perl" (SQL-00000)(DBD: db_login/SQLConnect err=-1) at ./mssql.pl line 13
Database connection failed: [iODBC][Driver Manager]Specified driver could not be loaded (SQL-IM003)
[iODBC][Driver Manager]Shared object "" not found, required by "perl" (SQL-00000)(DBD: db_login/SQLConnect err=-1) at ./mssql.pl line 13.


Где собака и что делать????  Задача в общем виде - подключиться из Perl под FreeBSD к MSSQL. 


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
frenkys
Дата 20.4.2006, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005

Репутация: 1
Всего: 1



я из под фрях делаю так:

Код

sub db_connect
{
$dbh = DBI->connect("DBI:mysql:BASE_NAME:localhost","USER","PASSWORD") || die "ccc";
    return $dbh;
}

 
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
GoodBoy
Дата 20.4.2006, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



frenkys
у тебя - mysql
у меня - mssql

разницу чуешь??? smile 


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
sharq
Дата 20.4.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



GoodBoy, 

Код

use strict;
use DBI;
use Data::Dumper;

my $dsn = 'driver={SQL Server};Server=SHARQ;database=test;uid=sharq;pwd=test;';
my $dbh  = DBI->connect("dbi:ODBC:$dsn") or die "$DBI::errstr\n";

my $test = $dbh->selectall_arrayref("SELECT * FROM test");
print Dumper $test;


Только подставь свои значения.
Если вариант с портом, то добавь 
Код

port=$port;
 после 
Код

database=$database;


 smile    

Это сообщение отредактировал(а) sharq - 20.4.2006, 11:06


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
sharq
Дата 20.4.2006, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



Плюс вот тебе дока по ODBC - здесь
Вот что от туда интересно
Цитата

Where do I get an ODBC driver manager for Unix/Linux?

    DBD::ODBC comes with one (iODBC). In the DBD::ODBC source release is a directory named iodbcsrc. There are others. UnixODBC, FreeODBC and some of the drivers will come with one of these managers. For example Openlink's drivers (see below) come with the iODBC driver manager. Easysoft supplies both ODBC-ODBC bridge software and unixODBC.
How do I access a MS SQL Server database from Linux?

    Try using drivers from http://www.openlinksw.com or www.easysoft.com The multi-tier drivers have been tested with Linux and Redhat 5.1.
How do I access an MS-Access database from Linux?

    I believe you can use the multi-tier drivers from http://www.openlinksw.com, however, I have not tested this. Also, I believe there is a commercial solution from http://www.easysoft.com. I have not tested this.

    If someone does have more information, please, please send it to me and I will put it in this FAQ.
Almost all of my tests for DBD::ODBC fail. They complain about not being able to connect or the DSN is not found.

    Please, please test your configuration of ODBC and driver before trying to test DBD::ODBC. Most of the time, this stems from the fact that the DSN (or ODBC) is not configured properly. iODBC comes with a odbctest program. Please use it to verify connectivity.
For Unix -> Windows DB see Tom Lowery's write-up.

    http://tlowery.hypermart.net/perl_dbi_dbd_...cessMSWindowsDB


Только последняя ссылка не рабочая...
 


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
GoodBoy
Дата 20.4.2006, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



sharq

вот такой вариант: 
Код
#!/usr/bin/perl

use strict;
use DBI;
use Data::Dumper;

my $dsn = 'driver={SQL Server};Server=192.168.1.4;database=test;port=1433;uid=testuser;pwd=test;';
my $dbh  = DBI->connect("dbi:ODBC:$dsn") or die "$DBI::errstr\n";

my $test = $dbh->selectall_arrayref("SELECT * FROM test");
print Dumper $test;


даёт вот это:

Цитата
DBI connect('driver={SQL Server};Server=192.168.1.4;database=test;port=1433;uid=testuser;pwd=test;','',...) failed: [iODBC][Driver Manager]Specified driver could not be loaded (SQL-IM003)
[iODBC][Driver Manager]Shared object "QL Server" not found, required by "perl" (SQL-00000)(DBD: db_login/SQLConnect err=-1) at ./test.pl line 8
[iODBC][Driver Manager]Specified driver could not be loaded (SQL-IM003)
[iODBC][Driver Manager]Shared object "QL Server" not found, required by "perl" (SQL-00000)(DBD: db_login/SQLConnect err=-1)


:-((((


может это как-то поможет:


Код
#!/usr/bin/perl
use DBI;
@driver_names = DBI->available_drivers;
print "drivers: ".scalar(@driver_names)."\n";
foreach my $driver_name (sort @driver_names) {
    print "name: $driver_name\t  source: ";
    if ($driver_name ne "Proxy") {
        $data_sources = DBI->data_sources($driver_name);
        print "$data_sources\n";
    } else {
        print "error read\n";
    }
}


результат:

Код
drivers: 7
name: DBM         source: 5
name: ExampleP    source: 1
name: File        source: 5
name: ODBC        source: 0
name: Proxy       source: error read
name: Sponge      source: 0
name: mysql       source: 1
 


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
BlackLFL
Дата 20.4.2006, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

Репутация: 8
Всего: 12



Цитата

[Driver Manager]Specified driver could not be loaded (SQL-IM003)
...
Shared object "QL Server" not found, required ...

я как понимаю нет драйвера для конкртеной базы данных, в твоем случае MSSQL 
PM WWW   Вверх
GoodBoy
Дата 20.4.2006, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Цитата(BlackLFL @  20.4.2006,  12:18 Найти цитируемый пост)
я как понимаю нет драйвера для конкртеной базы данных, в твоем случае MSSQL  

Дык и был вопрос:
Цитата(GoodBoy @  20.4.2006,  10:02 Найти цитируемый пост)
что делать????

я с MySQL обычно работал, а что тут делать - не знаю...  DBD::ODBC вроде установили! а что ещё нужно сделать чтобы заработало??? 


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
BlackLFL
Дата 20.4.2006, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

Репутация: 8
Всего: 12



попробуйте установить UnixODBC - Perl extension for unixODBC 
PM WWW   Вверх
GoodBoy
Дата 24.4.2006, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



чего-то так у меня ничего и не срослось... :-((((( 


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
BlackLFL
Дата 24.4.2006, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 15.9.2005
Где: Москва

Репутация: 8
Всего: 12



Цитата(GoodBoy @  24.4.2006,  11:17 Найти цитируемый пост)
го-то так у меня ничего и не срослось... :-(((((  

а поподробнее, что было сделано после последнего общения?
 
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.5076 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.