Oracle database error in symfony2 (doctrine). Is parameters.yml setup correctly?

≡放荡痞女 提交于 2020-01-05 10:03:01

问题


This is the info they gave me for the DB

HOST: <ip>
PORT: <port>
DB NAME: <name>
DB USER : <user>
DB PASSWORD: <password>
SERVICE: <service name>
CHARSET: WE8MSWIN1252

My parameters.yml looks like this

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

My guess is that I'm missing the service name, but I don't know how to set it up since database_service only accepts boolean.

Thank you in advance!


回答1:


Checkout getEasyConnectionString method (it was called differently in previous versions od doctrine as far as I know.). According to this you have two options:

  1. Configure connection using separate parameters.

Your parameters.yml file is missing database_servicename parameter you got.

So complete parameters.yml file:

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

You need to modify your config.yml because it probably doesn't have all parameters set there.

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
  1. Pass whole dsn string as a dbname parameter

Your parameters.yml file:

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>)))


来源:https://stackoverflow.com/questions/26942066/oracle-database-error-in-symfony2-doctrine-is-parameters-yml-setup-correctly

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!