Forum Webscript.Ru
Программирование => Perl => Тема начата: Error202 от 13 Января 2006, 08:55:31
-
Есть файл base.sql (5 Мб)
Можно ли скриптом перла загрузить его в базу?
-
да.
-
:) Спасибо, а каким образом?
-
либо самому читать файл и писать его через DBI/DBD (perldoc DBI),
либо вызывать через system/open (perldoc -f system, perldoc -f open)
command line утилиту работы с базой данных (для postgresql это psql,
для sybase isql, etc).
последнее предпочтительнее.
-
Последнее конечно лучше, но не универсально, т.к. на некоторых хостингах нужно указывать полный путь до утилиты...
А вот читать из файла и затем писать... Короче на 5 Мб у меня виснет все наглухо... :(
-
1. не найти в $PATH?
2. читать построчно, если команды в одну строку, если не в одну -- парсить файл, что сложнее. тогда либо SQL::Parser (не пробовал), либо Parse::RecDescent, либо какой иной из Parse::*. или вручную писать парсер, который будет выражения выдирать.
-
Засада!
Ладно, спасибо...
-
# perl -e \'foreach (split ":",$ENV{PATH}) { print if (-f "$_/psql"); }\'
/usr/bin
#
-
Спасибо!