在我的Symfony2项目中,我想在config.yml / parameters.yml文件中配置我的连接,指向稍后将安装的Oracle数据保护数据库。事情是,他们告诉我们:这是连接器:
jdbc:oracle:thin@(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=some.primary.host)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=some.secondary.host)(PORT=1521))
(LOAD_BALANCE=off)
(FAILOVER=on)
)
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=SOMESERVICENAME))
(FAILOVER_MODE = (TYPE = SELECT)(METHOD = BASIC)(RETRIES = 120)(DELAY = 5))
)
由于2个地址,我无法找到解决这个问题的方法。 我们的站点在Windows 7上,本地我有一个Apache2.4和PHP 5.4,带有12c的Oracle即时客户端。 现在,我们使用通常的Symfony2配置连接到当前基础,在主机中使用:用户:变量等...在.yml文件中。 我们的test / preprod / prod envs都是linux。
我试过阅读很多东西来了解它是如何工作的,所以我继续学习doc,我也跟着它上面的Oracle命名方法的链接。我还阅读了Symfony2 doctrine配置页面。我还不能发布2个以上的链接,抱歉。
然后我发现有些人在谈论教条中的课程,例如https://github.com/symfony/symfony/issues/5106和http://blog.ineat-conseil.fr/2014/07/configurer-doctrine-dbal-avec-oracle/
所以,我从这一切得到的是:
现在,我想到了两件事:
我试图提供" dbname" .yml文件中的属性是我在特定位置创建的tsnames.ora中的服务名称的值,并将TNS_ADMIN env变量放到此位置,但它没有工作(I& #39;已将它放在系统变量中,而不是用户变量中。)
所以,也许它是微不足道的,但我有点迷失。
非常感谢任何帮助。
干杯:)
答案 0 :(得分:0)
嗯,事实证明,解决方案是将连接字符串直接放入dbname:
database_host: false
并将host参数设置为false:
database_name: '(DESCRIPTION=…'