The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Выборка картинок из MS SQL Server в FreeBSD с помощью Perl, !*! AlekseyD, 16-Авг-05, 17:17  [смотреть все]
Здравствуйте!

Не подскажете как можно обойти эту проблему?

Суть проблемы. В ОС FreeBSD есть скритп кот. читает из базы данных поле в кот. находиться картинка и сохраняет эту картинку в файл сам скрипт

#!/usr/local/bin/perl
use DBI;

$dbh=DBI->connect('DBI:Sybase:server=192.168.200.99:1433;database=DATABASE1','user','pass');

$strSQL="select field_bmp from table";

#$dbh->{LongReadLen}=3145728;
$sth=$dbh->prepare($strSQL); $sth->execute(); $count=1;
$sth->bind_col(1,\$Data);
while (@data=$sth->fetchrow_array()) {
      open (NF, ">$count.bmp");
      binmode NF;
      print NF $Data;
      close (NF);
               $count=$count+1;
}

Так вот этот скрипт почему то сохраняет файл 1.bmp.... в текстовом формате, а не в двоичном. Не подскажете что может быть? В windows все нормально работает сохраняет файл в нормальном формате а в FreeBSD не хочет.

Да и еще когда раскоментирую эту строчку $dbh->{LongReadLen}=3145728; Компилятор ругаеться "Setting of CS_OPT_TEXTSIZE failed ..."

FreeBSD 5.4 DBI + DBD_Sybase, и еще конект происходит с помощью FreeTDS

Буду очень признателен за ответ.

Спасибо.

  • Выборка картинок из MS SQL Server в FreeBSD с помощью Perl, !*! co6aka, 17:47 , 16-Авг-05 (1)
    А подробнее можно? Что значит "...В windows все нормально работает сохраняет файл в нормальном формате а в FreeBSD не хочет..."
  • Выборка картинок из MS SQL Server в FreeBSD с помощью Perl, !*! AlekseyD, 18:01 , 16-Авг-05 (2)
    >Здравствуйте!
    >
    >Не подскажете как можно обойти эту проблему?
    >
    >Суть проблемы. В ОС FreeBSD есть скритп кот. читает из базы данных
    >поле в кот. находиться картинка и сохраняет эту картинку в файл
    >сам скрипт
    >
    >#!/usr/local/bin/perl
    >use DBI;
    >
    >$dbh=DBI->connect('DBI:Sybase:server=192.168.200.99:1433;database=DATABASE1','user','pass');
    >
    >$strSQL="select field_bmp from table";
    >
    >#$dbh->{LongReadLen}=3145728;
    >$sth=$dbh->prepare($strSQL); $sth->execute(); $count=1;
    >$sth->bind_col(1,\$Data);
    >while (@data=$sth->fetchrow_array()) {
    >      open (NF, ">$count.bmp");
    >   binmode NF;
    >   print NF $Data;
    >   close (NF);
    >            
    >   $count=$count+1;
    >}
    >
    >
    >Так вот этот скрипт почему то сохраняет файл 1.bmp.... в текстовом формате,
    >а не в двоичном. Не подскажете что может быть? В windows
    >все нормально работает сохраняет файл в нормальном формате а в FreeBSD
    >не хочет.
    >
    >Да и еще когда раскоментирую эту строчку $dbh->{LongReadLen}=3145728; Компилятор ругаеться "Setting of CS_OPT_TEXTSIZE failed ..."
    >
    >FreeBSD 5.4 DBI + DBD_Sybase, и еще конект происходит с помощью FreeTDS
    >
    >
    >Буду очень признателен за ответ.
    >
    >Спасибо.

    Фух все разобрался. Нужно было перевести Sybase в бинарный режим, после строчки $sth=$dbh->prepare($strSQL); Самое главное до execute() написать

    $dbh->{syb_binary_images}=1; Вот и все :)




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру