[SLOVED] yii1.1 & oracle11.g

在用户名和密码正确情况下出现下面的异常


CDbException

描述


源文件


D:\htdocs\SVN\yii\framework\db\CDbConnection.php(262)

当输入错误的密码时,出现以下异常


CDbException

描述


CDbConnection 无法开启数据库连线: SQLSTATE[HY000]: OCISessionBegin: ORA-01017: invalid username/password; logon denied

(ext\pdo_oci\oci_driver.c:630)

源文件


D:\htdocs\SVN\yii\framework\db\CDbConnection.php(262)

qiang,是否有测试过 pdo_ori 呢? 根据以上故障,能否指点一下问题所在~

Windows XP + Oracle 11g for Windows + Yii 1.1b

错误信息提示的是用户密码错误啊。

输入了正确的用户名密码,就出现第一段异常啊,空描述~

我看错了。我自己没有测试过oracle,现有的oracle schema driver是社区成员提供的,应该是可以用的。或许这和你的oracle extension安装有关系?你试试直接用PDO?

我装的是 oracle11g 最新版本for windows

我使用的是pdo驱动~~

从错误分析来看,驱动是已经生效了的~~

按照官方文档:


Oracle: oci:dbname=//localhost:1521/testdb

做的链接,不知道这个是否正确?

你试试直接用PDO,看看有什么不同的错误信息。

通过测试发现,问题应该是出现在dns的写法上~


$dbh = new PDO("oci:dbname=localhost:1521/".$dbname, $username, $password);

上面的写法,可以成功建立连接~~

看来,文档上面的连接代码需要更新一下 :rolleyes:

另外发现两个问题:

1、使用Oracle10g EXE的话,连接标识中,无需指定端口(其它版本还未测试)

2、不能够设置 charset=‘utf8’,不知道是否可以设置其它值

因为最近一个项目,需要和oracle打交道,所以在测试中~~

也希望有使用 yii+oracle的同志,一起探讨了!

OCI的DSN是来自:http://www.php.net/manual/en/ref.pdo-oci.connection.php

你设置charset='utf8’出现什么错误?

Yii提供的oracle driver在11g中简直不能用,性能超差,一个超简单的表的反射耗时都在100s以上!

我正准备改写这个driver.

UTF-8的写法如下




		'datadb'=>array(

			'class'=>'CDbConnection',

			'connectionString'=>'oci:dbname=192.168.1.20/orcl;charset=utf8',

			'username'=>'ncaa',

			'password'=>'ncaa',

			'enableParamLogging'=>true,

		),



不知道兄台的driver是否已经写好了?分享一下 :rolleyes: