Prado\Data\Common\TDbMetaData::getInstance PHP Method

getInstance() public static method

Obtain database specific TDbMetaData class using the driver name of the database connection.
public static getInstance ( $conn ) : TDbMetaData
return TDbMetaData database specific TDbMetaData.
    public static function getInstance($conn)
    {
        $conn->setActive(true);
        //must be connected before retrieving driver name
        $driver = $conn->getDriverName();
        switch (strtolower($driver)) {
            case 'pgsql':
                return new TPgsqlMetaData($conn);
            case 'mysqli':
            case 'mysql':
                return new TMysqlMetaData($conn);
            case 'sqlite':
                //sqlite 3
            //sqlite 3
            case 'sqlite2':
                //sqlite 2
                return new TSqliteMetaData($conn);
            case 'mssql':
                // Mssql driver on windows hosts
            // Mssql driver on windows hosts
            case 'sqlsrv':
                // sqlsrv driver on windows hosts
            // sqlsrv driver on windows hosts
            case 'dblib':
                // dblib drivers on linux (and maybe others os) hosts
                return new TMssqlMetaData($conn);
            case 'oci':
                return new TOracleMetaData($conn);
                //			case 'ibm':
                //				return new TIbmDb2MetaData($conn);
            //			case 'ibm':
            //				return new TIbmDb2MetaData($conn);
            default:
                throw new TDbException('ar_invalid_database_driver', $driver);
        }
    }

Usage Example

Example #1
0
 function __construct()
 {
     if (!class_exists("TActiveRecordManager", false)) {
         throw new Exception("You need to enable the ActiveRecord module in your application configuration file.");
     }
     $ar_manager = TActiveRecordManager::getInstance();
     $_conn = $ar_manager->getDbConnection();
     $_conn->Active = true;
     $this->_dbMetaData = TDbMetaData::getInstance($_conn);
 }
All Usage Examples Of Prado\Data\Common\TDbMetaData::getInstance