caddoo
(Matthew Caddoo)
October 25, 2011, 10:03pm
1
Hi all,
First time user of yii and I am planning to move an existing website over into the yii framework (along with a redesign).
The current site uses a SQL Server for the database so until we redesign the database (its used for multiple other things) we will have to stick to SQL Server (2005).
Anyway onto the Yii question, i’ve created a new Yii application and have that all working fine but i’m having trouble getting it to play nicely with the existing SQL Server database.
My DB setting is as follows:
'db' => array(
'connectionString' => 'sqlsrv:server=(local);database=mydb',
'emulatePrepare' => false,
'username' => 'egg',
'charset' => 'utf8',
'password' => 'bacon',
),
And the error message I receive is
CDbConnection failed to open the DB connection: SQLSTATE[IMSSP]: An unsupported attribute was designated on the PDO object.
I have tested sqlsrv with the very same database on the same webserver outside of Yii and I have managed to get it working using this simple code:
<?php
try {
$conn = new PDO( "sqlsrv:server=(local);Database = mydb", 'egg', 'bacon');
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch( PDOException $e ) {
die( "Error connecting to SQL Server" );
}
echo "Connected to SQL Server\n";
$query = 'select * from t_Dealers';
$stmt = $conn->query( $query );
while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
print_r( $row );
}
?>
And it works fine, i get all the results i expect.
Any ideas why this isn’t working with Yii?
(I’m seeing this message when going to CRUD options in Gii)
sensorario
(Sensorario)
October 26, 2011, 6:35am
2
I use MAM (MacOSx). In my configutation, my server must be localhost:8889. Need you something to this? To set the Mysql port?
caddoo
(Matthew Caddoo)
October 26, 2011, 8:26am
3
Thanks for your help, but i’m using SQL Server (Microsoft) not MySQL. I don’t have a problem connecting to the server but once it connects there is an error.
Hermooz
(Hermooz)
October 26, 2011, 9:26am
4
I’m succesfully using MSSQL 2005 with this setting:
'db'=>array(
'connectionString' => 'mssql:host=localhost;dbname=DB',
'username' => 'user',
'password' => 'password',
),
as far as I’ve understood, the “mssql” extension is older than “sqlsrv” one, but it works better.
HTH… bye!
caddoo
(Matthew Caddoo)
October 26, 2011, 11:39am
5
Hermooz:
I’m succesfully using MSSQL 2005 with this setting:
'db'=>array(
'connectionString' => 'mssql:host=localhost;dbname=DB',
'username' => 'user',
'password' => 'password',
),
as far as I’ve understood, the “mssql” extension is older than “sqlsrv” one, but it works better.
HTH… bye!
I don’t currently have that extension installed, and as far i know it wouldn’t be a good idea to rely on an older extension.
Hermooz
(Hermooz)
October 26, 2011, 11:52am
6
I’m with you on that. But at least the legacy solutions work
bye!
tri
(tri - Tommy Riboe)
October 26, 2011, 1:01pm
7
Since the error message complains about an unsupported attribute, I would try without the charset property.
/Tommy
mazz
(Mijail)
November 12, 2011, 7:36pm
8
caddoo:
Hi all,
First time user of yii and I am planning to move an existing website over into the yii framework (along with a redesign).
The current site uses a SQL Server for the database so until we redesign the database (its used for multiple other things) we will have to stick to SQL Server (2005).
Anyway onto the Yii question, i’ve created a new Yii application and have that all working fine but i’m having trouble getting it to play nicely with the existing SQL Server database.
My DB setting is as follows:
'db' => array(
'connectionString' => 'sqlsrv:server=(local);database=mydb',
'emulatePrepare' => false,
'username' => 'egg',
'charset' => 'utf8',
'password' => 'bacon',
),
And the error message I receive is
CDbConnection failed to open the DB connection: SQLSTATE[IMSSP]: An unsupported attribute was designated on the PDO object.
I got this error too, I solve this problem removing the "emulatePrepare" attribute, like this:
'db'=>array(
'connectionString' => 'sqlsrv:server=localhost;database=Northwind;',
'username' => 'user',
'password' => 'user123',
'charset' => 'utf8',
),