Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / dbal / lib / Doctrine / DBAL / Driver / SQLSrv / Driver.php
1 <?php
2 /*
3  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
4  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
5  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
6  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
7  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
8  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
10  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
11  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
12  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
13  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14  *
15  * This software consists of voluntary contributions made by many individuals
16  * and is licensed under the MIT license. For more information, see
17  * <http://www.doctrine-project.org>.
18  */
19
20 namespace Doctrine\DBAL\Driver\SQLSrv;
21
22 /**
23  * Driver for ext/sqlsrv
24  */
25 class Driver implements \Doctrine\DBAL\Driver
26 {
27     public function connect(array $params, $username = null, $password = null, array $driverOptions = array())
28     {
29         if (!isset($params['host'])) {
30             throw new SQLSrvException("Missing 'host' in configuration for sqlsrv driver.");
31         }
32         if (!isset($params['dbname'])) {
33             throw new SQLSrvException("Missing 'dbname' in configuration for sqlsrv driver.");
34         }
35
36         $serverName = $params['host'];
37         if (isset($params['port'])) {
38             $serverName .= ', ' . $params['port'];
39         }
40         $driverOptions['Database'] = $params['dbname'];
41         $driverOptions['UID'] = $username;
42         $driverOptions['PWD'] = $password;
43
44         if (!isset($driverOptions['ReturnDatesAsStrings'])) {
45             $driverOptions['ReturnDatesAsStrings'] = 1;
46         }
47
48         return new SQLSrvConnection($serverName, $driverOptions);
49     }
50
51     public function getDatabasePlatform()
52     {
53         return new \Doctrine\DBAL\Platforms\SQLServer2008Platform();
54     }
55
56     public function getSchemaManager(\Doctrine\DBAL\Connection $conn)
57     {
58         return new \Doctrine\DBAL\Schema\SQLServerSchemaManager($conn);
59     }
60
61     public function getName()
62     {
63         return 'sqlsrv';
64     }
65
66     public function getDatabase(\Doctrine\DBAL\Connection $conn)
67     {
68         $params = $conn->getParams();
69         return $params['dbname'];
70     }
71 }
72