与db的Doctrine连接

时间:2015-04-28 08:24:25

标签: php sql-server symfony doctrine-orm doctrine

我即将在doctrine symfony中启动一个项目,但我必须与多个数据库建立连接。其中之一是无法使用ORM映射的现有数据库(SQL SERVER)。是否有可能使用另一个未在doctrine中映射并正常使用控制器的db与此db连接?

1 个答案:

答案 0 :(得分:2)

我使用doctrine2 orm mapping开发了一个多数据库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: ~

此配置允许您在控制器/服务中获取连接实例,并将其用于访问数据库并执行存储过程等等...

希望这个帮助