这是他们给我的DB信息
HOST: <ip>
PORT: <port>
DB NAME: <name>
DB USER : <user>
DB PASSWORD: <password>
SERVICE: <service name>
CHARSET: WE8MSWIN1252
我的参数.yml 看起来像这样
parameters:
database_driver: oci8
database_host: <ip>
database_port: <port>
database_name: <name>
database_user: <user>
database_password: <password>
database_service: true
database_charset: WE8MSWIN1252
我的猜测是我缺少服务名称,但我不知道如何设置它,因为database_service只接受布尔值。
提前谢谢你!
Checkout getEasyConnectionString 方法(据我所知,它在以前的doctrine
版本中有不同的称呼。根据这一点,您有两种选择:
- 使用单独的参数配置连接。
您的parameters.yml
文件缺少您获取database_servicename
参数。
所以完整的parameters.yml
文件:
parameters:
database_driver: oci8
database_host: <ip>
database_port: <port>
database_name: <name>
database_user: <user>
database_password: <password>
database_service: true
database_servicename: <servicename>
database_charset: WE8MSWIN1252
您需要修改config.yml
,因为它可能没有在那里设置所有参数。
config.yml:
# Doctrine Configuration
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: %database_charset%
service: %database_service% #this you don't have probably
servicename: %database_servicename% #this you don't have probably
- 将整个字符串
dsn
传递为dbname
参数
您的parameters.yml
文件:
parameters:
database_driver: oci8
database_user: <user>
database_password: <password>
database_charset: WE8MSWIN1252
database_name: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<host>)(PORT=<port>))(CONNECT_DATA=(SERVICE_NAME=<service_name>)))