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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Доступ к DBF из Perl 
:(
    Опции темы
бУРов
Дата 15.2.2012, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Мне нужно обрабатывать dbf-таблицы.
- создавать dbf-таблицу
- читать из нее
- писать в нее
- удалять из нее

Хочу делать это из Perl.

Нашел примеры.
Язык программирования Perl. Лекция 15: Работа с базами данных
Вот один из них -- создание таблицы:

Код

use XBase; # модуль работы с БД в формате DBF

   my $table = XBase->create(  # метод создания таблицы 
   "name" => "mollusc.dbf", # имя файла
      # имена полей (колонок, столбцов) таблицы:  
           "field_names" =>    ["ID", "NAME", "LATIN", "AREA"],
      # типы данных (N - число, C - строка, D - дата):
           "field_types" =>    [ "N",    "C",     "C",    "C"],
      # максимальные длины полей:
           "field_lengths" =>  [   5,     35,      30,     45],
      # длины дробной части (для чисел):
           "field_decimals" => [   0,  undef,   undef,  undef]
);
$table->close();  # метод закрытия файла БД


Запускаю на выполнение, получаю:
Цитата

Can't locate XBase.pm in @INC (@INC contains: C:/Perl64/site/lib C:/Perl64/lib .) at dbf.pl line 1.
BEGIN failed--compilation aborted at dbf.pl line 1.


Что нужно добавить, чтобы пример заработал?

PM MAIL   Вверх
vadiml
Дата 15.2.2012, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Например установить XBase со cpan-а.

PS У DBI::XBase и ему подобных есть существенный недостаток -- не поддерживает JOIN-ы
PM MAIL Jabber   Вверх
бУРов
Дата 15.2.2012, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я в Windows работаю.
Это пойдёт для Windows?
PM MAIL   Вверх
bvn13
Дата 15.2.2012, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(бУРов @ 15.2.2012,  09:28)
Я в Windows работаю.
Это пойдёт для Windows?

Пойдет. 

выполните код:
Код

perl -MCPAN -e 'install XBase'


из командной строки. Должен установиться нужный модуль.
PM MAIL   Вверх
бУРов
Дата 15.2.2012, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(bvn13 @ 15.2.2012,  09:55)
из командной строки. Должен установиться нужный модуль.

Спасибо, пробую установить этот модуль. Сначала запустил, но не произошло соединение, т.к. работал ESET-файрвол. Отключил его. Запустил установку по-новой. Соединение произошло, что-то закачалось, но сообщения такие:
Цитата

>perl -MCPAN -e 'install XBase'

It looks like you don't have a C compiler and make utility installed.  Trying
to install dmake and the MinGW gcc compiler using the Perl Package Manager.
This may take a a few minutes...

Downloading ActiveState Package Repository packlist...done
Updating ActiveState Package Repository database...done
ppm.bat install failed: Can't find any package that provides MinGW

It looks like the installation of dmake and MinGW has failed.  You will not be
able to run Makefile commands or compile C extension code.  Please check your
internet connection and your proxy settings!

Can't find string terminator "'" anywhere before EOF at -e line 1.

PM MAIL   Вверх
bvn13
Дата 15.2.2012, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(бУРов @ 15.2.2012,  10:25)
Цитата(bvn13 @ 15.2.2012,  09:55)
из командной строки. Должен установиться нужный модуль.

Спасибо, пробую установить этот модуль. Сначала запустил, но не произошло соединение, т.к. работал ESET-файрвол. Отключил его. Запустил установку по-новой. Соединение произошло, что-то закачалось, но сообщения такие:
Цитата

>perl -MCPAN -e 'install XBase'

It looks like you don't have a C compiler and make utility installed.  Trying
to install dmake and the MinGW gcc compiler using the Perl Package Manager.
This may take a a few minutes...

Downloading ActiveState Package Repository packlist...done
Updating ActiveState Package Repository database...done
ppm.bat install failed: Can't find any package that provides MinGW

It looks like the installation of dmake and MinGW has failed.  You will not be
able to run Makefile commands or compile C extension code.  Please check your
internet connection and your proxy settings!

Can't find string terminator "'" anywhere before EOF at -e line 1.

ну все же по тексту понятно. Не установленны компиллятор С и MinGW.
PM MAIL   Вверх
alezzz
Дата 15.2.2012, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


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

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



Цитата(bvn13 @  15.2.2012,  12:05 Найти цитируемый пост)
ну все же по тексту понятно. Не установленны компиллятор С и MinGW.

Не только это, под Windows параметры указывайте в двойных кавычках:
Код

C:\Users\Alex>perl -e 'print 1'
Can't find string terminator "'" anywhere before EOF at -e line 1.

C:\Users\Alex>perl -e "print 1"
1

PM MAIL   Вверх
Pilat66
Дата 23.2.2012, 03:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А ещё там есть XBase и Xbase - и они существенно разные.
PM MAIL   Вверх
бУРов
Дата 23.4.2012, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Удалось установить модуль, нужный для работы с DBF-таблицами так:
Код

ppm install DBD-XBase

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


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

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


 




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


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

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