0

だから私は接続できます(明らかに、すべての実際の値を置き換えました)

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

しかし、Catalyt の create スクリプトを実行すると、

$ ./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

dbサーバーがwhereiam.comからの接続を許可していないように動作しますが、コマンドライン経由で問題なく接続でき、一時的にどこからでも接続できるようにdbを開こうとしましたが、まだ成功していません。提供できる情報が少なくて申し訳ありませんが、それが現在私が持っているすべてです。

4

2 に答える 2

1

時間を無駄にして申し訳ありません。私は馬鹿のように感じます。私のパスワードにはドル記号が含まれていましたが、引用符で囲むことを気にしなかったため、環境変数を展開しようとしてパスワードを切り詰めていました。それを適切に引用すると、問題が解決しました。ご返信ありがとうございます。ところで、元の接続文字列も同様に機能します。

于 2010-07-17T04:11:31.320 に答える
1

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 だけですが、バックスラッシュと改行でフォーマットしたので、必要に応じて貼り付けることができます)。

于 2010-07-17T03:33:39.637 に答える