Титла: Perl DBI, MySQL
Публикувано от: sunhater в Nov 23, 2005, 13:17
Здравейте, Защо заявки като ALTER TABLE, CREATE INDEX, LOAD DATA не искат да se изпълнят с Perl DBI. Ето пример: Примерен код | $query = "LOAD DATA LOCAL INFILE 'db.txt' INTO TABLE TEMP"; $dbh->do($query); | Дава грешка:Примерен код | DO: Something wrong while try to prepare query This command is not supported in the prepared statement protocol yet | Заявката се изпълнява ако ползвам mysql клиента, но не и от DBI. Къде е проблема? Подозирам че е от версията на MySQL, защото преди време си спомням, че изпълнявах такива заявки на 4.0.x.
Версиите:
Gentoo 2005.1 MySQL 4.1.14 Perl 5.8.6 DBI 1.46
Титла: Perl DBI, MySQL
Публикувано от: peio в Dec 15, 2005, 01:24
Пробвай нещо подобно: Примерен код | my $dbh = DBI->connect($credentials); $query = "LOAD DATA LOCAL INFILE 'db.txt' INTO TABLE TEMP"; my $qh = $dbh->prepare($query) or die "Couldn't prepare query '$query': $DBI::errstr\n"; $qh->execute() or die "Couldn't execute query '$query': $DBI::errstr\n";
|
И ако работи, се опитай да разбереш повече за prepare фазата.
Титла: Perl DBI, MySQL
Публикувано от: в Dec 22, 2005, 14:06
Цитат (sunhater @ Ноември 23 2005,14:17) | Здравейте,
Защо заявки като ALTER TABLE, CREATE INDEX, LOAD DATA не искат да se изпълнят с Perl DBI. Ето пример:
Примерен код | $query = "LOAD DATA LOCAL INFILE 'db.txt' INTO TABLE TEMP"; $dbh->do($query); | Дава грешка:Примерен код | DO: Something wrong while try to prepare query This command is not supported in the prepared statement protocol yet | Заявката се изпълнява ако ползвам mysql клиента, но не и от DBI. Къде е проблема? Подозирам че е от версията на MySQL, защото преди време си спомням, че изпълнявах такива заявки на 4.0.x.
Версиите:
Gentoo 2005.1 MySQL 4.1.14 Perl 5.8.6 DBI 1.46 |
Zdrasti az imah sashtia problem. Sled mnogo tarsene v google si go reshih. Prosto trjabva rachno da si downgrade-nesh DBD-mysql modula do versia 3.0000. V momenta versiata v gentoo e 3.0000_4 kojato e developerska i maj polzva njakakvo novo "prepared statement" API, koeto v mysql 5 e bozavo.
mnogo zdrave i dalgoletie!
Титла: Perl DBI, MySQL
Публикувано от: VladSun в Dec 22, 2005, 15:07
доколкото знам ТРЯБВА да пускаш mysqld с --local-infile=1 опция за да работи LOAD DATA LOCAL INFILE При мен е:
safe_mysqld --user=mysqluser --skip-innodb --local-infile=1 &
|