Linux-DVB-DVBT-Apps-QuartzPVR

 view release on metacpan or  search on metacpan

php/PEAR/DB/odbtp.php  view on Meta::CPAN

     *  odbtp(access)://myuid:mypwd@odbtp.somewhere.com/c:\mydb.mdb
     *  odbtp(mssql)://myuid:mypwd@odbtp.somewhere.com/mydb?server=mysqlsrv
     *  odbtp://myuid:mypwd@myinterface/mydb
     *
     * @param array $dsninfo data source name info returned by DB::parseDSN
     * @param boolean $persistent kept for interface compatibility
     *
     * @return int DB_OK if successful, or DB error code if failure
     *
     * @see DB::parseDSN()
     * @access public
     */
    function connect($dsninfo, $persistent = false)
    {
        if (!PEAR::loadExtension('odbtp')) {
            return $this->raiseError(DB_ERROR_EXTENSION_NOT_FOUND);
        }
        $this->dsn = $dsninfo;
        $this->dbsyntax = 'unknown';
        $this->txn_isolation = ODB_TXN_DEFAULT;
        $odbcinfo = array();
        $hostspec = '';
        $port = '';
        $conntype = 'normal';
        $rowcache = false;
        $unicode = false;
        $vardatasize = 0;
        $connid = '';
        $dbparam = 'DATABASE';

        foreach ($dsninfo as $option => $value) {
            $option = strtoupper($option);

            switch ($option) {
                // PEAR DB DSN specific options
                case 'PHPTYPE':
                    $this->phptype = $value; break;
                case 'DBSYNTAX':
                    $this->dbsyntax = strtolower($value);
                    switch( $this->dbsyntax ) {
                        case 'mssql':
                            $dbparam = 'DATABASE';
                            if (!isset($odbcinfo['DRIVER']))
                                $odbcinfo['DRIVER'] = '{SQL Server}';
                            if (!isset($odbcinfo['SERVER']))
                                $odbcinfo['SERVER'] = '(local)';
                            break;
                        case 'access':
                            $dbparam = 'DBQ';
                            if (!isset($odbcinfo['DRIVER']))
                                $odbcinfo['DRIVER'] = '{Microsoft Access Driver (*.mdb)}';
                            if (!isset($odbcinfo['UID']))
                                $odbcinfo['UID'] = 'admin';
                            if (!isset($odbcinfo['PWD']))
                                $odbcinfo['PWD'] = '';
                            break;
                        case 'vfp':
                            $dbparam = 'SOURCEDB';
                            if (!isset($odbcinfo['DRIVER']))
                                $odbcinfo['DRIVER'] = '{Microsoft Visual FoxPro Driver}';
                            if (!isset($odbcinfo['SOURCETYPE']))
                                $odbcinfo['SOURCETYPE'] = 'DBF';
                            if (!isset($odbcinfo['EXCLUSIVE']))
                                $odbcinfo['EXCLUSIVE'] = 'NO';
                            break;
                        case 'oracle':
                            $dbparam = 'DBQ';
                            if (!isset($odbcinfo['DRIVER']))
                                $odbcinfo['DRIVER'] = '{Oracle ODBC Driver}';
                            break;
                        case 'sybase':
                            $dbparam = 'DATABASE';
                            if (!isset($odbcinfo['DRIVER']))
                                $odbcinfo['DRIVER'] = '{Sybase ASE ODBC Driver}';
                            if (!isset($odbcinfo['SRVR']))
                                $odbcinfo['SRVR'] = 'localhost';
                            break;
                        case 'db2':
                            $dbparam = 'DATABASE';
                            if (!isset($odbcinfo['DRIVER']))
                                $odbcinfo['DRIVER'] = '{IBM DB2 ODBC Driver}';
                            if (!isset($odbcinfo['HOSTNAME']))
                                $odbcinfo['HOSTNAME'] = 'localhost';
                            if (!isset($odbcinfo['PORT']))
                                $odbcinfo['PORT'] = '50000';
                            if (!isset($odbcinfo['PROTOCOL']))
                                $odbcinfo['PROTOCOL'] = 'TCPIP';
                            break;
                        case 'mysql':
                            $dbparam = 'DATABASE';
                            if (!isset($odbcinfo['DRIVER']))
                                $odbcinfo['DRIVER'] = '{mySQL}';
                            if (!isset($odbcinfo['SERVER']))
                                $odbcinfo['SERVER'] = 'localhost';
                            if (!isset($odbcinfo['PORT']))
                                $odbcinfo['PORT'] = '3306';
                            if (!isset($odbcinfo['OPTION']))
                                $odbcinfo['OPTION'] = '131072';
                            if (!isset($odbcinfo['STMT']))
                                $odbcinfo['STMT'] = '';
                            break;
                        case 'text':
                            $dbparam = 'DBQ';
                            if (!isset($odbcinfo['DRIVER']))
                                $odbcinfo['DRIVER'] = '{Microsoft Text Driver (*.txt; *.csv)}';
                            if (!isset($odbcinfo['EXTENSIONS']))
                                $odbcinfo['EXTENSIONS'] = 'asc,csv,tab,txt';
                            break;
                        case 'excel':
                            $dbparam = 'DBQ';
                            if (!isset($odbcinfo['DRIVER']))
                                $odbcinfo['DRIVER'] = '{Microsoft Excel Driver (*.xls)}';
                            if (!isset($odbcinfo['DRIVERID']))
                                $odbcinfo['DRIVERID'] = '790';
                            break;
                        case 'dsn':
                            $dbparam = 'DSN';
                            if (!isset($odbcinfo['DSN']))
                                $odbcinfo['DSN'] = '';
                            $this->dbsyntax = 'unknown';
                            break;
                        default:



( run in 1.910 second using v1.01-cache-2.11-cpan-39bf76dae61 )