2

Dancer::Plugin::Database を使用して、ダンサー アプリケーションからデータベースに接続しています。シングル接続では問題なく動作します。複数の接続を試みたところ、エラーが発生しました。複数の接続を追加するにはどうすればよいですか。

config.yml ファイルに次のコードを追加しました。

plugins:
        Database:
            connections:
                one:
                        driver: 'mysql'
                        database: 'employeedetails'
                        host: 'localhost'
                        port: 3306
                        username: 'remya'
                        password: 'remy@'
                        connection_check_threshold: 10
                        dbi_params:
                            RaiseError: 1
                            AutoCommit: 1
                        on_connect_do: ["SET NAMES 'utf8'", "SET CHARACTER SET 'utf8'" ]
                        log_queries: 1
                    two:
                        driver: 'mysql'
                        database: 'employeetree'
                        host: 'localhost'
                        port: 3306
                        username: 'remya'
                        password: 'remy@'
                        connection_check_threshold: 10
                        dbi_params:
                            RaiseError: 1
                            AutoCommit: 1
                        on_connect_do: ["SET NAMES 'utf8'", "SET CHARACTER SET 'utf8'" ]
                        log_queries: 1

次に、次のコードを使用してデータベースに接続しようとしました:

my $dbh=database('one');
my $sth=$dbh->prepare("select * from table_name where id=?");
$sth->execute(1);

「構成ファイルを解析できません」というコンパイル エラーが発生しました。

解決策を提案してください。

前もって感謝します

4

1 に答える 1

4

YAML では、ハッシュのキーに一貫したインデントが必要です。「two:」の前から 4 つのスペースを削除すると、解析されます。

更新: インデントが編集されているようです。元の質問に戻ると、別の場所で解析エラーが発生し、タブとスペースが混在していることがわかります。一貫してタブのみまたはスペースのみを使用するようにしてください。ファイルをテストして、次のように最初のエラーが発生している行を見つけることができます。

$ perl -we'use YAML::Syck; LoadFile "config.yml"'
Syck parser (line 19, column 16): syntax error at -e line 1, <> chunk 1.

また、キーがすべて正しいハッシュになっていることを確認してください (タブとスペースが混在しているため、これが間違っている可能性がありますが、それでも正常に解析されます)。

perl -we'use YAML::Syck; use Data::Dumper; $Data::Dumper::Sortkeys=$Data::Dumper::Useqq=1; print Dumper LoadFile "config.yml"'
于 2012-12-05T09:02:48.247 に答える