The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"perl file reed"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"perl file reed"
Сообщение от melco Искать по авторуВ закладки(ok) on 09-Окт-04, 03:39  (MSK)
Господа, у меня есть файл содержащий один огромный sql запрос.
В файле приблизительно 400000 строк. Мне нужно с помощью перла выполнить этот запрос на mysql сервере.
Я пишу:

#!/usr/bin/perl
open (file,"sql.sql");
@query=<file>;
use DBI;
my $dbh = DBI->connect("DBI:mysql:database=melco;host=*","*","*") || die $DBI::errstr;
my $result = $dbh->prepare(@query);
$result->execute() || die $DBI::errstr;
print "All RIGHT ;-)";

Я делаю my $result = $dbh->prepare(@query); потому, что print @query дает правильный результат.. НО.. не пашет.
Подскажите как всетаки выполнить запрос в mysql

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "perl file reed"
Сообщение от melco Искать по авторуВ закладки(ok) on 09-Окт-04, 04:04  (MSK)
Или может так?


#!/usr/bin/perl
open (file,"sql.sql");
@query=<file>;
use DBI;
my $dbh = DBI->connect("DBI:mysql:database=melco;host=*","*","*") || die $DBI::errstr;
my $result = $dbh->prepare(print @query);
$result->execute() || die $DBI::errstr;
print "All RIGHT ;-)";

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "perl file reed"
Сообщение от melco Искать по авторуВ закладки(ok) on 09-Окт-04, 04:10  (MSK)
Или ПРОСТО так:

#!/usr/bin/perl
open (file,"sql.sql");
use DBI;
my $dbh = DBI->connect("DBI:mysql:database=melco;host=*","*","*") || die $DBI::errstr;
my $result = $dbh->prepare(<file>);
$result->execute() || die $DBI::errstr;
print "All RIGHT ;-)";

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "perl file reed"
Сообщение от Аноним emailИскать по авторуВ закладки on 09-Окт-04, 10:46  (MSK)
Скорее так.

#!/usr/local/bin/perl

use strict;
use warnings;

use diagnostics;

use DBI ();

local($/) = "";           # ставим разделитель строк в ''

open(my $F,"sql.sql");
$query = <$F>;
# taint checks here
close($F);
my $dbh = DBI->connect("DBI:mysql:database=melco;host=*","*","*");
$dbh->do($query);
$dbh->disconnect();
print("Query execution succeeded.");

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "perl file reed"
Сообщение от Simps Искать по авторуВ закладки(ok) on 11-Окт-04, 20:11  (MSK)
>Скорее так.
>
>#!/usr/local/bin/perl
>
>use strict;
>use warnings;
>
>use diagnostics;
>
>use DBI ();
>
>local($/) = "";          
> # ставим разделитель строк в ''
>
>open(my $F,"sql.sql");
>$query = <$F>;
># taint checks here
>close($F);
>my $dbh = DBI->connect("DBI:mysql:database=melco;host=*","*","*");
>$dbh->do($query);
>$dbh->disconnect();
>print("Query execution succeeded.");

А что просто штатными средствами теперь уже не модно ?
mysql  -h host -u user -p password database < backup-file.sql

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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