Doctrine2 - 如何添加自定义DBAL驱动程序?
问题描述:
在我的symfony 3.3.2项目中,我想使用odbc sage连接到sage数据库。 我创建了一个名为GestCom_Sage100的新dsn。Doctrine2 - 如何添加自定义DBAL驱动程序?
我试着用symfony的连接到该数据源,但我得到这个错误:
The given 'driver' SAGE Gestion commeriale 100 is unknown, Doctrine currently
supports only the following drivers: pdo_mysql, pdo_sqlite, pdo_pgsql,
pdo_oci, oci8, ibm_db2, pdo_sqlsrv, mysqli, drizzle_pdo_mysql, sqlanywhere,
sqlsrv
这里是我的config.yml:
# Doctrine Configuration
doctrine:
dbal:
default_connection: default
connections:
default:
driver: pdo_pgsql
host: '%database_host%'
port: '%database_port%'
dbname: '%database_name%'
user: '%database_user%'
password: '%database_password%'
charset: UTF8
sage:
driver: SAGE Gestion commeriale 100
host: 'localhost'
dbname: 'GestCom_Sage100'
user: '****'
password: '*****'
即使Doctrine2文档http://doctrine-orm.readthedocs.io/projects/doctrine-dbal/en/latest/reference/configuration.html#pdo-oci-oci8
答
# Doctrine Configuration
doctrine:
dbal:
driver: YOUR_DRIVER
driver_class: YOUR_DRIVER_CLASS_NAMESPACE
+0
你可以添加任何解释为什么这解决了这个问题? – Nisarg
'SAGE Gestion commeriale 100'不是有效的驱动程序,您应该使用与此相对应的列表中的驱动程序数据库。 – Kacper
听起来像你需要pdo_odbc,虽然你可能需要安装它:http://php.net/manual/en/ref.pdo-odbc.php – Cerad