Browse Source

A single maginca setting that fixed 300 tests in SQLServer.

Jose Lorenzo Rodriguez 12 years ago
parent
commit
4aa23fcd73

+ 2 - 3
src/Database/Driver/Sqlserver.php

@@ -60,7 +60,7 @@ class Sqlserver extends \Cake\Database\Driver {
 			$config['flags'][PDO::SQLSRV_ATTR_ENCODING] = $config['encoding'];
 		}
 		if (empty($config['dsn'])) {
-			$config['dsn'] = "sqlsrv:Server={$config['host']};Database={$config['database']}";
+			$config['dsn'] = "sqlsrv:Server={$config['host']};Database={$config['database']};MultipleActiveResultSets=false";
 		}
 
 		$this->_connect($config);
@@ -90,7 +90,6 @@ class Sqlserver extends \Cake\Database\Driver {
 		return in_array('sqlsrv', PDO::getAvailableDrivers());
 	}
 
-	
 /**
  * Prepares a sql statement to be executed
  *
@@ -100,7 +99,7 @@ class Sqlserver extends \Cake\Database\Driver {
 	public function prepare($query) {
 		$this->connect();
 		$statement = $this->_connection->prepare((string)$query, [PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL]);
-		return $this->_old = new PDOStatement($statement, $this);
+		return new PDOStatement($statement, $this);
 	}
 
 }

+ 1 - 1
tests/TestCase/Database/Driver/SqlserverTest.php

@@ -51,7 +51,7 @@ class SqlserverTest extends \Cake\TestSuite\TestCase {
 		);
 
 		$expected = $config;
-		$expected['dsn'] = 'sqlsrv:Server=foo;Database=bar';
+		$expected['dsn'] = 'sqlsrv:Server=foo;Database=bar;MultipleActiveResultSets=false';
 		$expected['flags'] += [
 			PDO::ATTR_PERSISTENT => false,
 			PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,