Проблема с подключением к MySQL через eRuby

0

У меня возникла проблема с подключением сценариев eRuby к моей базе данных MySQL.

Я написал короткий тест script только для того, чтобы выработать исходные ошибки подключения:

<%

require 'mysql'

begin
     dbh = Mysql::new("localhost", "test", "wahssf", "amg")
rescue Mysql::Error => e
     print "Error code: #{e.errno}<br />"
     print "Error message: #{e.error}<br />"
     print "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate")
ensure
     dbh.close if dbh
end

%>

Теперь, пока я сохраняю параметры подключения как тарабарщину ( "test", "wahssf", "amg" ), script по умолчанию относится к классу Mysql::Error и печатает в браузере следующее:

Error code: 1045
Error message: Access denied for user 'test'@'localhost' (using password: YES)
Error SQLSTATE: 28000

Однако, как только я добавлю значения REAL и перезагрузите страницу, script завершится сбой (по какой-то причине?), и я получаю HTTP 500 Internal Server Error.

Я не знаю, в чем проблема. Пока комбинация имени пользователя и пароля неверна, script "работает", но, очевидно, не подключается, но как только я даю ему правильные учетные данные, он терпит неудачу.

Любые идеи?

Кроме того, стоит упомянуть: когда я запускаю этот script, введя его в строке за строкой через irb в командной строке, он работает. Это только кажется проблемой в eRuby.

Vitals: Apache 2.2.8 работает на Fedora Core 7 MySQL 5.0. * (Gem mysql версия 2.8.1) Ruby 1.9.2

  • 0
    Есть ли что-нибудь в логах сервера? Вы также можете попробовать запустить этот код из командной строки и посмотреть, нет ли там ошибок.
  • 0
    /ruby.rhtml:7:in 'close': wrong argument type Mysql (expected Struct) (TypeError) Я также попытался добавить метод query () в dbh, с той же самой ошибкой, которая была возвращена.
Показать ещё 2 комментария
Теги:
fedora
eruby

1 ответ

0

если сообщение Access denied проверяет имя пользователя, пароль, хост и порт!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню