我即将在教义symfony中开始一个项目,但我必须与多个数据库建立连接。其中之一是无法与ORM映射的现有数据库(SQL SERVER)。是否有可能将此数据库与另一个未在理论上映射并正常使用控制器的数据库连接?
我开发了一个带有 doctrine2 orm 映射的多数据库 sf2 应用程序。
我们使用 intellectsoft-uk/MssqlBundle
我们的配置是:
配置.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: RealestateMssqlBundleDriverPDODblibDriver
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: ~
此配置允许您在控制器/服务中获取连接实例,并将其用于访问数据库并执行存储过程等...
希望这个帮助