MSSQLDatabaseInfo.php

Go to the documentation of this file.
00001 <?php 00002 /* 00003 * $Id: MSSQLDatabaseInfo.php,v 1.1 2004/05/02 21:33:26 micha Exp $ 00004 * 00005 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00006 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00007 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 00008 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 00009 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00010 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00011 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00012 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00013 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00014 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00015 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00016 * 00017 * This software consists of voluntary contributions made by many individuals 00018 * and is licensed under the LGPL. For more information please see 00019 * <http://creole.phpdb.org>. 00020 */ 00021 00022 require_once 'creole/metadata/DatabaseInfo.php'; 00023 00032 class MSSQLDatabaseInfo extends DatabaseInfo 00033 { 00034 var $dbname; 00035 var $dblink; 00036 00041 function MSSQLDatabaseInfo(/*Connection*/ &$conn) 00042 { 00043 /* type check does parent constructor */ 00044 parent::DatabaseInfo($conn); 00045 $dsn = $conn->getDSN(); 00046 $this->dbname = $dsn['database']; 00047 $this->dblink = $conn->getResource(); 00048 } 00049 00054 function initTables() 00055 { 00056 include_once 'creole/drivers/mssql/metadata/MSSQLTableInfo.php'; 00057 00058 $dsn = $this->conn->getDSN(); 00059 00060 00061 if (!@mssql_select_db($this->dbname, $this->dblink)) { 00062 return new SQLException(CREOLE_ERROR_NODBSELECTED, 'No database selected'); 00063 } 00064 00065 $result = mssql_query("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_NAME <> 'dtproperties'", $this->dblink); 00066 00067 if (!$result) { 00068 return new SQLException(CREOLE_ERROR, "Could not list tables", mssql_get_last_message()); 00069 } 00070 00071 while ($row = mssql_fetch_row($result)) { 00072 $this->tables[strtoupper($row[0])] =& new MSSQLTableInfo($this, $row[0]); 00073 } 00074 00075 return true; 00076 } 00077 00082 function initSequences() 00083 { 00084 // there are no sequences -- afaik -- in MSSQL. 00085 } 00086 00087 }

This file is part of the Creole[php4] library.


Copyright © 2004 Hans Lellelid  
Creole[php4] CVS