Catalyst создать схему не может подключиться, но я могу - PullRequest
0 голосов
/ 17 июля 2010

Так что я могу соединиться с (очевидно, я заменил все реальные значения)

mysql -u username -p -h db.dbhostname.com dbname

Но когда я запускаю скрипт создания Catalyt, я получаю

$ ./script/dasgift_create.pl model DB \
    DBIC::Schema MyApp::Schema create=static \
    components=TimeStamp \
    dbi:mysql:dbname:db.dbhostname.com username p@55w0rd
DBIx::Class::Schema::Loader::make_schema_at():
DBI Connection failed:
DBI connect('dbname:db.dbhostname.com','username',...) failed:
Access denied for user 'username'@'whereiam.com' (using password: YES)
at /opt/local/lib/perl5/site_perl/5.8.9/DBIx/Class/Storage/DBI.pm line 1104

Он ведет себя так, будто сервер БД не разрешает подключения с сайта whereiam.com, но я могу нормально подключиться через командную строку и попытался открыть базу данных из любого места временно, но безуспешно. Извините за ту небольшую информацию, которую я мог предоставить, но это все, что у меня есть в настоящее время.

Ответы [ 2 ]

1 голос
/ 17 июля 2010

Извините, что потратил впустую ваше время. Я чувствую себя идиотом. В моем пароле был знак доллара, и я не удосужился поместить его в кавычки, поэтому он по сути урезал пароль, пытаясь расширить переменную среды. Цитирование это правильно решило проблему. Еще раз спасибо за ваш ответ Hobbs, кстати, оригинальная строка подключения работает также.

1 голос
/ 17 июля 2010

Я не думаю, что MySQL DSN работают таким образом.Попробуйте запустить скрипт как:

./script/dasgift_create.pl model DB DBIC::Schema MyApp::Schema \
create=static components=TimeStamp \
'dbi:mysql:database=dbname;host=db.dbhostname.com' \
username p@55w0rd

(измененная часть - это просто DSN, но я отформатировал его для обратной косой черты, чтобы вы могли вставить его, если хотите).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...