我即将在doctrine symfony中启动一个项目,但我必须与多个数据库建立连接。其中之一是无法使用ORM映射的现有数据库(SQL SERVER)。是否有可能使用另一个未在doctrine中映射并正常使用控制器的db与此db连接?
答案 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: ~
此配置允许您在控制器/服务中获取连接实例,并将其用于访问数据库并执行存储过程等等...
希望这个帮助