无法使用Dancer::Plugin::Database连接到多个数据库。[英] unable to connect to multiple database using Dancer::Plugin::Database

本文是小编为大家收集整理的关于无法使用Dancer::Plugin::Database连接到多个数据库。的处理方法,想解了无法使用Dancer::Plugin::Database连接到多个数据库。的问题怎么解决?无法使用Dancer::Plugin::Database连接到多个数据库。问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在使用 Dancer::Plugin::Database 从我的 dancer 应用程序连接数据库.它适用于单一连接.当我尝试多个连接时,我得到了错误.如何添加多个连接.

我在 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);

我收到编译错误,"无法解析配置文件"

请提出解决方案.

提前致谢

推荐答案

YAML 要求哈希键的缩进一致.从"两个:"之前删除四个空格,它应该解析.

更新:我看到对缩进进行了一些编辑;回到最初的问题会在不同的地方产生解析错误,并显示正在使用的制表符和空格的混合;尝试始终仅使用制表符或仅使用空格.您可以测试您的文件并找出产生第一个错误的行,如下所示:

$ 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"'

本文地址:https://www.itbaoku.cn/post/1793879.html