I have a second database connection (extended CActiveRecord and created a new connection called “dw”) that connects to a remote SQL Server 2005 instance. Yii server is running Ubuntu 10.04 LTS, PHP 5.3.2 with dblib sybase/freetds. I’m using yii debug toolbar, which causes the issue to occur. When I disable it, the error goes away. A query I run on the page works fine, it seems to just be the toolbar executing some framework code that doesn’t work.
DB configuration:
'dw'=>array(
'class'=>'CDbConnection',
'connectionString' => 'dblib:host=ip:port;dbname=dbname;',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
'tablePrefix' => 'blah_'
),
On pages that use the second database, I get the following:
SQLSTATE[IM001]: Driver does not support this function: driver does not support getting attributes
/opt/yii-1.1.8.r3324/framework/db/CDbConnection.php(734)
722 return $this->getAttribute(PDO::ATTR_TIMEOUT);
723 }
724
725 /**
726 * Obtains a specific DB connection attribute information.
727 * @param integer $name the attribute to be queried
728 * @return mixed the corresponding attribute information
729 * @see http://www.php.net/manual/en/function.PDO-getAttribute.php
730 */
731 public function getAttribute($name)
732 {
733 $this->setActive(true);
734 return $this->_pdo->getAttribute($name);
735 }
736
737 /**
738 * Sets an attribute on the database connection.
739 * @param integer $name the attribute to be set
740 * @param mixed $value the attribute value
741 * @see http://www.php.net/manual/en/function.PDO-setAttribute.php
742 */
743 public function setAttribute($name,$value)
744 {
745 if($this->_pdo instanceof PDO)
746 $this->_pdo->setAttribute($name,$value);
Any thoughts on this? Is this really a driver problem or something Yii could fix or I could work around? Thanks.