symfony2(doctrine)中的Oracle数据库错误。 parameters.yml设置是否正确? [英] Oracle database error in symfony2 (doctrine). Is parameters.yml setup correctly?

查看:164
本文介绍了symfony2(doctrine)中的Oracle数据库错误。 parameters.yml设置是否正确?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是他们为DB提供的信息

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

我的parameters.yml看起来像这样

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

我的猜测是,缺少服务名称,但是我不知道如何设置它,因为database_service只接受布尔值。

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.

提前谢谢!

推荐答案

结帐 getEasyConnectionString 方法(据我所知,在以前的版本od doctrine 中有所不同。根据这个,你有两个选择:

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. 使用单独的参数配置连接

  1. Configure connection using separate parameters.

您的 parameters.yml 文件缺少 database_servicename 参数你有。

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

所以完成 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 因为它可能没有设置所有参数。

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. 将整个 dsn 字符串作为 dbname 参数

  1. Pass whole dsn string as a dbname parameter

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

这篇关于symfony2(doctrine)中的Oracle数据库错误。 parameters.yml设置是否正确?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆