与 db 的学说联系

Doctrine connection with db

我即将在 symfony 学说中开始一个项目,但我必须连接多个数据库。其中之一是无法使用 ORM 映射的现有数据库 (SQL SERVER)。是否有可能将此数据库与另一个未在原则中映射的数据库连接并正常与控制器一起工作?

我开发了一个带有 doctrine2 orm 映射的多数据库 sf2 应用程序。

我们用intellectsoft-uk/MssqlBundle

我们的配置是:

config.yml

# Doctrine Configuration
doctrine:
    dbal:
        default_connection: acme_mysql
        connections:
            acme_mysql:
                host: %acme_mysql_database_host%
                port: %acme_mysql_database_port%
                dbname: %acme_mysql_database_name%
                user: %acme_mysql_database_user%
                password: %acme_mysql_database_password%
                charset:  UTF8
            acme_slqsrv:
                driver:         sqlsrv
                driver_class:   \Realestate\MssqlBundle\Driver\PDODblib\Driver
                host: %acme_slqsrv%
                port: %acme_slqsrv%
                dbname: %acme_slqsrv%
                user: %acme_slqsrv%
                password: %acme_slqsrv%
                charset:  UTF8
orm: #optional if you want to map some entity in doctrine2
    auto_generate_proxy_classes: %kernel.debug%
    default_entity_manager: acme_mysql
    entity_managers:
        em_mysql:
            connection: acme_mysql
            mappings:
                AcmeMysqlBundle: ~
        em_sqlsrv:
            connection: acme_sqlsrv
            mappings:
                AcmeSqlSrvBundle: ~

此配置允许您在 controller/service 中获取连接实例并将其用于访问数据库和执行存储过程等...

希望对您有所帮助