如何在我的 symfony 项目中将 SQL Server 与 ORM Doctrine 连接起来?
Posted
技术标签:
【中文标题】如何在我的 symfony 项目中将 SQL Server 与 ORM Doctrine 连接起来?【英文标题】:How can I connect SQL Server with ORM Doctrine on my symfony project? 【发布时间】:2021-07-09 09:06:27 【问题描述】:doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
host: 127.0.0.1
port: 8889
user: '%env(DATABASE_USER)%'
password: '%env(DATABASE_PWD)%'
dbname: '%env(DATABASE_NAME)%'
# With Symfony 3.3, remove the `resolve:` prefix
# url: '%env(resolve:DATABASE_URL)%'
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
App:
is_bundle: false
type: yml
dir: '%kernel.project_dir%/config/doctrine'
prefix: 'App\Entity'
alias: App
【问题讨论】:
【参考方案1】:您需要使用驱动程序pdo_sqlsrv
或sqlsrv
,而不是pdo_mysql
。
(See doctrine configuration documentation).
pdo_sqlsrv:使用 pdo_sqlsrv PDO 的 Microsoft SQL Server 驱动程序
sqlsrv:使用 sqlsrv php 的 Microsoft SQL Server 驱动程序 扩展名。
pdo_sqlsrv
/sqlsrv
的可用配置有:
user (string): Username to use when connecting to the database.
password (string): Password to use when connecting to the database.
host (string): Hostname of the database to connect to.
port (integer): Port of the database to connect to.
dbname (string): Name of the database/schema to connect to.
文档说:
以下驱动支持自动数据库平台检测 开箱即用,无需任何额外配置:
pdo_mysql mysqli pdo_pgsql pdo_sqlsrv sqlsrv
所以你不需要指定server_version
。
你会:
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_sqlsrv'
charset: utf8mb4
host: 127.0.0.1
port: 8889
user: '%env(DATABASE_USER)%'
password: '%env(DATABASE_PWD)%'
dbname: '%env(DATABASE_NAME)%'
# With Symfony 3.3, remove the `resolve:` prefix
# url: '%env(resolve:DATABASE_URL)%'
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
App:
is_bundle: false
type: yml
dir: '%kernel.project_dir%/config/doctrine'
prefix: 'App\Entity'
alias: App
【讨论】:
以上是关于如何在我的 symfony 项目中将 SQL Server 与 ORM Doctrine 连接起来?的主要内容,如果未能解决你的问题,请参考以下文章
如何在symfony项目中将php版本从7.0降级到5.6?
如何在 symfony 2 和教义 2 中自定义 sql 日志?
如何在 SQL Server 数据库中将 Azure 存储用于 elmah 日志而不是 elmah 日志