Esempio n. 1
0
 function getDb()
 {
     static $dbcon;
     if ($dbcon) {
         return $dbcon;
     }
     ADOLoadCode('mysql');
     $dbcon =& ADONewConnection('mysql');
     if (!$dbcon->Connect(DB_HOST, DB_USER, DB_PASS, DB_NAME)) {
         die('Connection to database ' . DB_NAME . ' was refused.  Please check database_config file.');
     }
     return $dbcon;
 }
Esempio n. 2
0
/**
 * Instantiate a new Connection class for a specific database driver.
 *
 * @param [db]  is the database Connection object to create. If undefined,
 *	use the last database driver that was loaded by ADOLoadCode().
 *
 * @return the freshly created instance of the Connection class.
 */
function ADONewConnection($db = '')
{
    global $ADODB_NEWCONNECTION, $ADODB_LASTDB;
    if (!defined('ADODB_ASSOC_CASE')) {
        define('ADODB_ASSOC_CASE', ADODB_ASSOC_CASE_NATIVE);
    }
    $errorfn = defined('ADODB_ERROR_HANDLER') ? ADODB_ERROR_HANDLER : false;
    if (($at = strpos($db, '://')) !== FALSE) {
        $origdsn = $db;
        $fakedsn = 'fake' . substr($origdsn, $at);
        if (($at2 = strpos($origdsn, '@/')) !== FALSE) {
            // special handling of oracle, which might not have host
            $fakedsn = str_replace('@/', '@adodb-fakehost/', $fakedsn);
        }
        if (strpos($origdsn, 'sqlite') !== FALSE && stripos($origdsn, '%2F') === FALSE) {
            // special handling for SQLite, it only might have the path to the database file.
            // If you try to connect to a SQLite database using a dsn
            // like 'sqlite:///path/to/database', the 'parse_url' php function
            // will throw you an exception with a message such as "unable to parse url"
            list($scheme, $path) = explode('://', $origdsn);
            $dsna['scheme'] = $scheme;
            if ($qmark = strpos($path, '?')) {
                $dsn['query'] = substr($path, $qmark + 1);
                $path = substr($path, 0, $qmark);
            }
            $dsna['path'] = '/' . urlencode($path);
        } else {
            $dsna = @parse_url($fakedsn);
        }
        if (!$dsna) {
            return false;
        }
        $dsna['scheme'] = substr($origdsn, 0, $at);
        if ($at2 !== FALSE) {
            $dsna['host'] = '';
        }
        if (strncmp($origdsn, 'pdo', 3) == 0) {
            $sch = explode('_', $dsna['scheme']);
            if (sizeof($sch) > 1) {
                $dsna['host'] = isset($dsna['host']) ? rawurldecode($dsna['host']) : '';
                if ($sch[1] == 'sqlite') {
                    $dsna['host'] = rawurlencode($sch[1] . ':' . rawurldecode($dsna['host']));
                } else {
                    $dsna['host'] = rawurlencode($sch[1] . ':host=' . rawurldecode($dsna['host']));
                }
                $dsna['scheme'] = 'pdo';
            }
        }
        $db = @$dsna['scheme'];
        if (!$db) {
            return false;
        }
        $dsna['host'] = isset($dsna['host']) ? rawurldecode($dsna['host']) : '';
        $dsna['user'] = isset($dsna['user']) ? rawurldecode($dsna['user']) : '';
        $dsna['pass'] = isset($dsna['pass']) ? rawurldecode($dsna['pass']) : '';
        $dsna['path'] = isset($dsna['path']) ? rawurldecode(substr($dsna['path'], 1)) : '';
        # strip off initial /
        if (isset($dsna['query'])) {
            $opt1 = explode('&', $dsna['query']);
            foreach ($opt1 as $k => $v) {
                $arr = explode('=', $v);
                $opt[$arr[0]] = isset($arr[1]) ? rawurldecode($arr[1]) : 1;
            }
        } else {
            $opt = array();
        }
    }
    /*
     *  phptype: Database backend used in PHP (mysql, odbc etc.)
     *  dbsyntax: Database used with regards to SQL syntax etc.
     *  protocol: Communication protocol to use (tcp, unix etc.)
     *  hostspec: Host specification (hostname[:port])
     *  database: Database to use on the DBMS server
     *  username: User name for login
     *  password: Password for login
     */
    if (!empty($ADODB_NEWCONNECTION)) {
        $obj = $ADODB_NEWCONNECTION($db);
    }
    if (empty($obj)) {
        if (!isset($ADODB_LASTDB)) {
            $ADODB_LASTDB = '';
        }
        if (empty($db)) {
            $db = $ADODB_LASTDB;
        }
        if ($db != $ADODB_LASTDB) {
            $db = ADOLoadCode($db);
        }
        if (!$db) {
            if (isset($origdsn)) {
                $db = $origdsn;
            }
            if ($errorfn) {
                // raise an error
                $ignore = false;
                $errorfn('ADONewConnection', 'ADONewConnection', -998, "could not load the database driver for '{$db}'", $db, false, $ignore);
            } else {
                ADOConnection::outp("<p>ADONewConnection: Unable to load database driver '{$db}'</p>", false);
            }
            return false;
        }
        $cls = 'ADODB_' . $db;
        if (!class_exists($cls)) {
            adodb_backtrace();
            return false;
        }
        $obj = new $cls();
    }
    # constructor should not fail
    if ($obj) {
        if ($errorfn) {
            $obj->raiseErrorFn = $errorfn;
        }
        if (isset($dsna)) {
            if (isset($dsna['port'])) {
                $obj->port = $dsna['port'];
            }
            foreach ($opt as $k => $v) {
                switch (strtolower($k)) {
                    case 'new':
                        $nconnect = true;
                        $persist = true;
                        break;
                    case 'persist':
                    case 'persistent':
                        $persist = $v;
                        break;
                    case 'debug':
                        $obj->debug = (int) $v;
                        break;
                        #ibase
                    #ibase
                    case 'role':
                        $obj->role = $v;
                        break;
                    case 'dialect':
                        $obj->dialect = (int) $v;
                        break;
                    case 'charset':
                        $obj->charset = $v;
                        $obj->charSet = $v;
                        break;
                    case 'buffers':
                        $obj->buffers = $v;
                        break;
                    case 'fetchmode':
                        $obj->SetFetchMode($v);
                        break;
                        #ado
                    #ado
                    case 'charpage':
                        $obj->charPage = $v;
                        break;
                        #mysql, mysqli
                    #mysql, mysqli
                    case 'clientflags':
                        $obj->clientFlags = $v;
                        break;
                        #mysql, mysqli, postgres
                    #mysql, mysqli, postgres
                    case 'port':
                        $obj->port = $v;
                        break;
                        #mysqli
                    #mysqli
                    case 'socket':
                        $obj->socket = $v;
                        break;
                        #oci8
                    #oci8
                    case 'nls_date_format':
                        $obj->NLS_DATE_FORMAT = $v;
                        break;
                    case 'cachesecs':
                        $obj->cacheSecs = $v;
                        break;
                    case 'memcache':
                        $varr = explode(':', $v);
                        $vlen = sizeof($varr);
                        if ($vlen == 0) {
                            break;
                        }
                        $obj->memCache = true;
                        $obj->memCacheHost = explode(',', $varr[0]);
                        if ($vlen == 1) {
                            break;
                        }
                        $obj->memCachePort = $varr[1];
                        if ($vlen == 2) {
                            break;
                        }
                        $obj->memCacheCompress = $varr[2] ? true : false;
                        break;
                }
            }
            if (empty($persist)) {
                $ok = $obj->Connect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
            } else {
                if (empty($nconnect)) {
                    $ok = $obj->PConnect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
                } else {
                    $ok = $obj->NConnect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
                }
            }
            if (!$ok) {
                return false;
            }
        }
    }
    return $obj;
}
    }
}
ADOLoadCode("ado_mssql");
if (!empty($testmssql) && !empty($testado)) {
    // ADO ACCESS MSSQL -- thru ODBC -- DSN-less
    $db =& ADONewConnection("ado_mssql");
    $db->debug = 1;
    print "<h1>Connecting DSN-less {$db->databaseType}...</h1>";
    $myDSN = "PROVIDER=MSDASQL;DRIVER={SQL Server};" . "SERVER=JAGUAR\\VSDOTNET;DATABASE=NorthWind;UID=adodb;PWD=natsoft;Trusted_Connection=No";
    if (@$db->PConnect($myDSN, "", "", "")) {
        testdb($db, "create table ADOXYZ (id int, firstname char(24) null, lastname char(24) null,created datetime null)");
    } else {
        print "ERROR: MSSQL test 2 requires MS SQL 7";
    }
}
ADOLoadCode("mssqlpo");
if (!empty($testmssql)) {
    // MS SQL Server -- the extension is buggy -- probably better to use ODBC
    $db = ADONewConnection();
    $db->debug = 1;
    print "<h1>Connecting {$db->databaseType}...</h1>";
    $db->PConnect('JAGUAR\\vsdotnet', 'adodb', 'natsoft', 'northwind');
    if (true or @$db->PConnect("mangrove", "sa", "natsoft", "ai")) {
        AutoDetect_MSSQL_Date_Order($db);
        //	$db->Execute('drop table adoxyz');
        testdb($db, "create table ADOXYZ (id int, firstname char(24) null, lastname char(24) null,created datetime null)");
    } else {
        print "ERROR: MSSQL test 2 requires a MS SQL 7 on a server='192.168.0.1', userid='sa', password='******', database='ai'" . '<BR>' . $db->ErrorMsg();
    }
}
if (!empty($testmssql) && !empty($testado)) {
Esempio n. 4
0
 /**
  * Instantiate a new Connection class for a specific database driver.
  *
  * @param [db]  is the database Connection object to create. If undefined,
  * 	use the last database driver that was loaded by ADOLoadCode().
  *
  * @return the freshly created instance of the Connection class.
  */
 function &ADONewConnection($db = '')
 {
     global $ADODB_Database;
     $rez = true;
     if ($db) {
         if ($ADODB_Database != $db) {
             ADOLoadCode($db);
         }
     } else {
         if (!empty($ADODB_Database)) {
             ADOLoadCode($ADODB_Database);
         } else {
             $rez = false;
         }
     }
     $errorfn = defined('ADODB_ERROR_HANDLER') ? ADODB_ERROR_HANDLER : false;
     if (!$rez) {
         if ($errorfn) {
             // raise an error
             $errorfn('ADONewConnection', 'ADONewConnection', -998, "could not load the database driver for '{$db}", $dbtype);
         } else {
             ADOConnection::outp("<p>ADONewConnection: Unable to load database driver '{$db}'</p>", false);
         }
         return false;
     }
     $cls = 'ADODB_' . $ADODB_Database;
     $obj = new $cls();
     if ($errorfn) {
         $obj->raiseErrorFn = $errorfn;
     }
     return $obj;
 }
function ADOLoadCode2($d)
{
    ADOLoadCode($d);
    $c = ADONewConnection($d);
    echo "Loaded {$d} ", $c ? 'ok' : 'extension not installed', "<br>";
}
Esempio n. 6
0
<body>
<?php 
/*
 V4.22 15 Apr 2004  (c) 2000-2004 John Lim (jlim@natsoft.com.my). All rights reserved.
 Released under both BSD license and Lesser GPL library license. 
 Whenever there is any discrepancy between the two licenses, 
 the BSD license will take precedence.
 Set tabs to 8.
*/
#
# test connecting to 2 MySQL databases simultaneously and ensure that each connection
# is independant.
#
include "../tohtml.inc.php";
include "../adodb.inc.php";
ADOLoadCode('mysql');
$c1 = ADONewConnection('oci8');
if (!$c1->PConnect('', 'scott', 'tiger')) {
    die("Cannot connect to server");
}
$c1->debug = 1;
$rs = $c1->Execute('select rownum, p1.firstname,p2.lastname,p2.firstname,p1.lastname from adoxyz p1, adoxyz p2');
print "Records=" . $rs->RecordCount() . "<br><pre>";
//$rs->_array = false;
//$rs->connection = false;
//print_r($rs);
rs2html($rs);
?>


</body>
Esempio n. 7
0
        die("Incomplete database configuration. Please contact your system administrator.");
    }
} else {
    die("Couldn't find a local site configuration file. Please contact your system administrator.");
}
if (!isset($ADODB_CACHE_DIR) || !is_dir($ADODB_CACHE_DIR) || !is_writable($ADODB_CACHE_DIR)) {
    $ADODB_CACHE_DIR = AMP_urlFlip(AMP_LOCAL_PATH . '/cache');
}
if (!defined('AMP_BASE_PATH')) {
    define('AMP_BASE_PATH', $_SERVER['DOCUMENT_ROOT']);
}
if (!defined('AMP_BASE_INCLUDE_PATH')) {
    define('AMP_BASE_INCLUDE_PATH', $_SERVER['DOCUMENT_ROOT'] . '/include/');
}
// turn on APD debugger when set by config file
if (defined('AMP_DEBUG_MODE_APD') && AMP_DEBUG_MODE_APD && function_exists('apd_set_pprof_trace')) {
    apd_set_pprof_trace();
}
// Connect to the database.
if (!defined('AMP_DB_TYPE')) {
    define('AMP_DB_TYPE', 'mysql');
}
ADOLoadCode(AMP_DB_TYPE);
$dbcon = ADONewConnection(AMP_DB_TYPE);
if (!$dbcon->Connect(AMP_DB_HOST, AMP_DB_USER, AMP_DB_PASS, AMP_DB_NAME)) {
    die('Connection to database ' . AMP_DB_NAME . ' was refused.  Please check your site configuration file.');
}
require_once 'AMP/Registry.php';
//add the dbcon to the Registry
$registry = AMP_Registry::instance();
$registry->setDbcon($dbcon);
Esempio n. 8
0
 /**
  * Instantiate a new Connection class for a specific database driver.
  *
  * @param [db]  is the database Connection object to create. If undefined,
  * 	use the last database driver that was loaded by ADOLoadCode().
  *
  * @return the freshly created instance of the Connection class.
  */
 function &ADONewConnection($db = '')
 {
     global $ADODB_Database;
     if ($db) {
         if ($ADODB_Database != $db) {
             ADOLoadCode($db);
         }
     } else {
         if (!empty($ADODB_Database)) {
             ADOLoadCode($ADODB_Database);
         } else {
             print "<p>ADONewConnection: No database driver defined</p>";
         }
     }
     $cls = 'ADODB_' . $ADODB_Database;
     $obj = new $cls();
     if (defined('ADODB_ERROR_HANDLER')) {
         $obj->raiseErrorFn = ADODB_ERROR_HANDLER;
     }
     return $obj;
 }
 /**
  * Instantiate a new Connection class for a specific database driver.
  *
  * @param [db]  is the database Connection object to create. If undefined,
  * 	use the last database driver that was loaded by ADOLoadCode().
  *
  * @return the freshly created instance of the Connection class.
  */
 function &ADONewConnection($db = '')
 {
     global $ADODB_NEWCONNECTION, $ADODB_LASTDB;
     if (!defined('ADODB_ASSOC_CASE')) {
         define('ADODB_ASSOC_CASE', 2);
     }
     $errorfn = defined('ADODB_ERROR_HANDLER') ? ADODB_ERROR_HANDLER : false;
     if (!empty($ADODB_NEWCONNECTION)) {
         $obj = $ADODB_NEWCONNECTION($db);
         if ($obj) {
             if ($errorfn) {
                 $obj->raiseErrorFn = $errorfn;
             }
             return $obj;
         }
     }
     if (!isset($ADODB_LASTDB)) {
         $ADODB_LASTDB = '';
     }
     if (empty($db)) {
         $db = $ADODB_LASTDB;
     }
     if ($db != $ADODB_LASTDB) {
         $db = ADOLoadCode($db);
     }
     if (!$db) {
         if ($errorfn) {
             // raise an error
             $ignore = false;
             $errorfn('ADONewConnection', 'ADONewConnection', -998, "could not load the database driver for '{$db}", $db, false, $ignore);
         } else {
             ADOConnection::outp("<p>ADONewConnection: Unable to load database driver '{$db}'</p>", false);
         }
         return false;
     }
     $cls = 'ADODB_' . $db;
     if (!class_exists($cls)) {
         adodb_backtrace();
         return false;
     }
     $obj =& new $cls();
     if ($errorfn) {
         $obj->raiseErrorFn = $errorfn;
     }
     return $obj;
 }
Esempio n. 10
0
        print "ERROR: MSSQL test 1 requires a MS SQL 7 server setup with DSN='lensengine', userid='sa', password=''";
    }
}
ADOLoadCode("ado_mssql");
if (!empty($testmssql) && !empty($testado)) {
    // ADO ACCESS MSSQL -- thru ODBC -- DSN-less
    $db =& ADONewConnection("ado_mssql");
    print "<h1>Connecting DSN-less {$db->databaseType}...</h1>";
    $myDSN = "PROVIDER=MSDASQL;DRIVER={SQL Server};" . "SERVER=mangrove;DATABASE=ai;UID=sa;PWD=;";
    if (@$db->PConnect($myDSN, "", "", "")) {
        testdb($db, "create table ADOXYZ (id int, firstname char(24), lastname char(24),created datetime)");
    } else {
        print "ERROR: MSSQL test 2 requires a MS SQL 7 on a server='mangrove', userid='sa', password='', database='ai'";
    }
}
ADOLoadCode("mssql");
if (!empty($testmssql)) {
    // MS SQL Server -- the extension is buggy -- probably better to use ODBC
    $db = ADONewConnection();
    print "<h1>Connecting {$db->databaseType}...</h1>";
    if (@$db->PConnect("mangrove", "sa", "", "ai")) {
        testdb($db, "create table ADOXYZ (id int, firstname char(24), lastname char(24),created datetime)");
    } else {
        print "ERROR: MSSQL test 2 requires a MS SQL 7 on a server='192.168.0.1', userid='sa', password='', database='ai'" . '<BR>' . $db->ErrorMsg();
    }
}
if (!empty($testmssql) && !empty($testado)) {
    // ADO ACCESS MSSQL with OLEDB provider
    $db =& ADONewConnection("ado_mssql");
    print "<h1>Connecting DSN-less OLEDB Provider {$db->databaseType}...</h1>";
    $myDSN = "SERVER=mangrove;DATABASE=ai;";
Esempio n. 11
0
<?php

require_once "adodb.inc.php";
// Istanziazione AdoDB
$HOSTNAME = "localhost";
//INDIRIZZO;
$DATABASE = "mysql:ceramichesofia";
//DATABASE;
$DBTYPE = preg_replace("/:.*\$/", "", $DATABASE);
$DATABASE = preg_replace("/^.*?:/", "", $DATABASE);
$USERNAME = "******";
//UTENTE;
$PASSWORD = "******";
//PASSWORD;
$LOCALE = "It";
ADOLoadCode($DBTYPE);
$db_conn =& ADONewConnection($DBTYPE);
$db_conn->PConnect($HOSTNAME, $USERNAME, $PASSWORD, $DATABASE, $LOCALE);
Esempio n. 12
0
 * You might still get database connection errors because you
 * didn't configure PHPLENS_SESSION_* variables in 
 *           phplens/config/phplens.config.inc.php.
 */
$rt = array('FirstName', 'LastName', 'Num');
$r0 = array('John', 'Lim', '1');
$r1 = array('Harry', 'Zee', '2');
$r2 = array('Larry', 'Aaron', '3');
$r3 = array('Baddy', 'Lim', '4');
$r4 = array('John', 'Lee', '5');
$r5 = array('Yee', 'Dee', '16');
$rend = array('Last', 'Record', '1000');
/* Create the 2 dimensional array */
$arr = array($r0, $r1, $r2, $r3, $r4, $r5, $r0, $r1, $r2, $r3, $r4, $r5, $r0, $r1, $r2, $r3, $r4, $r5, $rend);
/* load the 2D array into a text database */
ADOLoadCode('text');
$db =& ADONewConnection();
if (empty($db)) {
    die("Cannot create ADONewConnection");
}
if (!$db->PConnect($arr, false, array('1stName', 'Surname', 'ID'))) {
    print 'Error:' . $db->ErrorMsg();
}
/* 
 * The id is very important. 
 * All phpLens objects should have a different id 
 */
$id = 'text_test';
$lens = new PHPLens($id, $db, 'select * from products');
if (empty($lens)) {
    die("Cannot create lens object id={$id}");
Esempio n. 13
0
 /**
  * Instantiate a new Connection class for a specific database driver.
  *
  * @param [db]  is the database Connection object to create. If undefined,
  * 	use the last database driver that was loaded by ADOLoadCode().
  *
  * @return the freshly created instance of the Connection class.
  */
 function &ADONewConnection($db = '')
 {
     global $ADODB_Database;
     if ($db) {
         if ($ADODB_Database != $db) {
             ADOLoadCode($db);
         }
     } else {
         if (!empty($ADODB_Database)) {
             $db = $ADODB_Database;
         } else {
             print "<p>ADONewConnection: No database driver defined</p>";
         }
     }
     $cls = 'ADODB_' . $db;
     return new $cls();
 }
Esempio n. 14
0
function AMP_load_site_command_line()
{
    $local_path_pattern = '/home/%s/public_html/';
    #$local_path_pattern = '/home/%s/';
    $site_folder = $_SERVER['argv'][1];
    if (!$site_folder) {
        trigger_error('Usage: login_link.php sitename');
        return false;
    }
    define('AMP_LOCAL_PATH', sprintf($local_path_pattern, $site_folder));
    #define( 'AMP_SYSTEM_CACHE', false );
    $config_file_path = sprintf($local_path_pattern, $site_folder) . 'custom/';
    $lib_file_path = sprintf($local_path_pattern, $site_folder) . 'lib/';
    $include_path = sprintf($local_path_pattern, 'amp') . 'include/';
    $include_path = '/home/amp/public_html/include/';
    define('AMP_BASE_INCLUDE_PATH', $include_path);
    $config_file1 = 'SiteConfig.php';
    $config_file2 = 'config.php';
    $incpath = ini_get('include_path');
    // Search local paths for includes.
    ini_set('include_path', $include_path . ':' . $config_file_path . ':' . $lib_file_path . ':' . ini_get('include_path'));
    if (!file_exists($config_file_path . $config_file1) && !file_exists($config_file_path . $config_file2)) {
        trigger_error('path not found: ' . $config_file_path . $config_file2);
        return false;
    }
    require_once 'utility.system.functions.inc.php';
    require_once 'utility.functions.inc.php';
    require_once 'AMP/System/Flash.php';
    if (file_exists($config_file_path . $config_file1)) {
        require_once $config_file_path . $config_file1;
    } else {
        require_once $config_file_path . $config_file2;
        if (isset($MM_DBTYPE)) {
            define('AMP_DB_TYPE', $MM_DBTYPE);
        }
        define('AMP_DB_HOST', $MM_HOSTNAME);
        define('AMP_DB_USER', $MM_USERNAME);
        define('AMP_DB_PASS', $MM_PASSWORD);
        define('AMP_DB_NAME', $MM_DATABASE);
    }
    require_once 'adodb/adodb.inc.php';
    if (!defined('AMP_DB_TYPE')) {
        define('AMP_DB_TYPE', 'mysql');
    }
    ADOLoadCode(AMP_DB_TYPE);
    $dbcon = ADONewConnection(AMP_DB_TYPE);
    if (!$dbcon->Connect(AMP_DB_HOST, AMP_DB_USER, AMP_DB_PASS, AMP_DB_NAME)) {
        trigger_error('database connection failed');
        return false;
    }
    require_once 'AMP/Registry.php';
    $registry = AMP_Registry::instance();
    $registry->setDbcon($dbcon);
    //define( 'AMP_SYSTEM_CACHE', false );
    define('AMP_SITE_CACHE_TIMEOUT', 0);
    require_once 'AMP/System/Config.inc.php';
    require_once 'AMP/System/Language/Config.php';
    require_once 'AMP/Base/Debug.php';
    //require_once( 'AMP/System/Cache/Config.inc.php');
    AMP_config_load('cache');
    require_once 'AMP/Base/Setup.php';
    //require_once( 'AMP/System/User/Config.php');
    AMP_config_load('tools');
    require_once 'AMP/Base/Lookups.php';
    AMP_config_load('site');
    AMP_config_load('content');
    require_once 'AMP/Content/Map.inc.php';
    return $site_folder;
}
        print "ERROR: MSSQL test 2 requires a MS SQL 7 on a server='192.168.0.1', userid='adodb', password='******', database='ai'" . '<BR>' . $db->ErrorMsg();
    }
}
ADOLoadCode('odbc_mssql');
if (!empty($testmssql)) {
    // MS SQL Server via ODBC
    $db = ADONewConnection();
    print "<h1>Connecting {$db->databaseType}...</h1>";
    $dsn = "PROVIDER=MSDASQL;Driver={SQL Server};Server={$server};Database=northwind;";
    if ($db->PConnect($dsn, "adodb", "natsoft", "")) {
        testdb($db, "create table ADOXYZ (id int, firstname char(24) null, lastname char(24) null,created datetime null)");
    } else {
        print "ERROR: MSSQL test 1 requires a MS SQL 7 server setup with DSN setup";
    }
}
ADOLoadCode("ado_mssql");
if (!empty($testmssql) && !empty($testado)) {
    // ADO ACCESS MSSQL -- thru ODBC -- DSN-less
    $db = ADONewConnection("ado_mssql");
    //$db->debug=1;
    print "<h1>Connecting DSN-less {$db->databaseType}...</h1>";
    $myDSN = "PROVIDER=MSDASQL;DRIVER={SQL Server};" . "SERVER={$server};DATABASE=NorthWind;UID=adodb;PWD=natsoft;Trusted_Connection=No";
    if ($db->PConnect($myDSN, "", "", "")) {
        testdb($db, "create table ADOXYZ (id int, firstname char(24) null, lastname char(24) null,created datetime null)");
    } else {
        print "ERROR: MSSQL test 2 requires MS SQL 7";
    }
}
if (!empty($testmssql) && !empty($testado)) {
    // ADO ACCESS MSSQL with OLEDB provider
    $db = ADONewConnection("ado_mssql");
Esempio n. 16
0
function NewBASEDBConnection($path, $type)
{
    global $debug_mode;
    if (!($type == "mysql" || $type == "mysqli" || $type == "mysqlt" || $type == "maxsql" || $type == "postgres" || $type == "mssql" || $type == "oci8")) {
        require_once "classes/Util.inc";
        $errsqldbtypeinfo1 = gettext("The variable <CODE>\$DBtype</CODE> in <CODE>base_conf.php</CODE> was set to the unrecognized database type of ");
        $errsqldbtypeinfo2 = gettext("Only the following databases are supported: <PRE>\n                MySQL         : 'mysql'\n                MySQLi        : 'mysqli'\n                PostgreSQL    : 'postgres'\n                MS SQL Server : 'mssql'\n                Oracle        : 'oci8'\n             </PRE>");
        echo "<B>" . gettext("Invalid Database Type Specified") . "</B>" . "<P>:" . $errsqldbtypeinfo1 . "<CODE>'" . Util::htmlentities($type) . "'</CODE>. " . $errsqldbtypeinfo2;
        die;
    }
    /* Export ADODB_DIR for use by ADODB */
    /** Sometimes it may already be defined. So check to see if it is first -- Tim Rupp**/
    if (!defined('ADODB_DIR')) {
        define('ADODB_DIR', $path);
    }
    $GLOBALS['ADODB_DIR'] = $path;
    $last_char = substr($path, strlen($path) - 1, 1);
    // if ($debug_mode > 1) echo "Original path = '" . $path . "'<BR>";
    if ($last_char == "\\" || $last_char == "/") {
        // if ($debug_mode > 1) echo "Attempting to load: '" . $path . "adodb.inc.php'<BR>";
        VerifyDBAbstractionLib($path . "adodb.inc.php");
        include $path . "adodb.inc.php";
    } else {
        if (strstr($path, "/") || $path == "") {
            // if ($debug_mode > 1) echo "Attempting to load: '" . $path . "/adodb.inc.php'<BR>";
            VerifyDBAbstractionLib($path . "/adodb.inc.php");
            include $path . "/adodb.inc.php";
        } else {
            if (strstr($path, "\\")) {
                // if ($debug_mode > 1) echo "Attempting to load: '" . $path . "\\adodb.inc.php'<BR>";
                VerifyDBAbstractionLib($path . "\\adodb.inc.php");
                include $path . "\\adodb.inc.php";
            }
        }
    }
    ADOLoadCode($type);
    return new baseCon($type);
}
Esempio n. 17
0
 /**
  * Instantiate a new Connection class for a specific database driver.
  *
  * @param [db]  is the database Connection object to create. If undefined,
  * 	use the last database driver that was loaded by ADOLoadCode().
  *
  * @return the freshly created instance of the Connection class.
  */
 function &ADONewConnection($db = '')
 {
     global $ADODB_NEWCONNECTION, $ADODB_LASTDB;
     if (!defined('ADODB_ASSOC_CASE')) {
         define('ADODB_ASSOC_CASE', 2);
     }
     $errorfn = defined('ADODB_ERROR_HANDLER') ? ADODB_ERROR_HANDLER : false;
     $false = false;
     if ($at = strpos($db, '://')) {
         $origdsn = $db;
         if (PHP_VERSION < 5) {
             $dsna = @parse_url($db);
         } else {
             $fakedsn = 'fake' . substr($db, $at);
             $dsna = @parse_url($fakedsn);
             $dsna['scheme'] = substr($db, 0, $at);
             if (strncmp($db, 'pdo', 3) == 0) {
                 $sch = explode('_', $dsna['scheme']);
                 if (sizeof($sch) > 1) {
                     $dsna['host'] = isset($dsna['host']) ? rawurldecode($dsna['host']) : '';
                     $dsna['host'] = rawurlencode($sch[1] . ':host=' . rawurldecode($dsna['host']));
                     $dsna['scheme'] = 'pdo';
                 }
             }
         }
         if (!$dsna) {
             // special handling of oracle, which might not have host
             $db = str_replace('@/', '@adodb-fakehost/', $db);
             $dsna = parse_url($db);
             if (!$dsna) {
                 return $false;
             }
             $dsna['host'] = '';
         }
         $db = @$dsna['scheme'];
         if (!$db) {
             return $false;
         }
         $dsna['host'] = isset($dsna['host']) ? rawurldecode($dsna['host']) : '';
         $dsna['user'] = isset($dsna['user']) ? rawurldecode($dsna['user']) : '';
         $dsna['pass'] = isset($dsna['pass']) ? rawurldecode($dsna['pass']) : '';
         $dsna['path'] = isset($dsna['path']) ? rawurldecode(substr($dsna['path'], 1)) : '';
         # strip off initial /
         if (isset($dsna['query'])) {
             $opt1 = explode('&', $dsna['query']);
             foreach ($opt1 as $k => $v) {
                 $arr = explode('=', $v);
                 $opt[$arr[0]] = isset($arr[1]) ? rawurldecode($arr[1]) : 1;
             }
         } else {
             $opt = array();
         }
     }
     /*
      *  phptype: Database backend used in PHP (mysql, odbc etc.)
      *  dbsyntax: Database used with regards to SQL syntax etc.
      *  protocol: Communication protocol to use (tcp, unix etc.)
      *  hostspec: Host specification (hostname[:port])
      *  database: Database to use on the DBMS server
      *  username: User name for login
      *  password: Password for login
      */
     if (!empty($ADODB_NEWCONNECTION)) {
         $obj = $ADODB_NEWCONNECTION($db);
     } else {
         if (!isset($ADODB_LASTDB)) {
             $ADODB_LASTDB = '';
         }
         if (empty($db)) {
             $db = $ADODB_LASTDB;
         }
         if ($db != $ADODB_LASTDB) {
             $db = ADOLoadCode($db);
         }
         if (!$db) {
             if (isset($origdsn)) {
                 $db = $origdsn;
             }
             if ($errorfn) {
                 // raise an error
                 $ignore = false;
                 $errorfn('ADONewConnection', 'ADONewConnection', -998, "could not load the database driver for '{$db}'", $db, false, $ignore);
             } else {
                 ADOConnection::outp("<p>ADONewConnection: Unable to load database driver '{$db}'</p>", false);
             }
             return $false;
         }
         $cls = 'ADODB_' . $db;
         if (!class_exists($cls)) {
             adodb_backtrace();
             return $false;
         }
         $obj = new $cls();
     }
     # constructor should not fail
     if ($obj) {
         if ($errorfn) {
             $obj->raiseErrorFn = $errorfn;
         }
         if (isset($dsna)) {
             if (isset($dsna['port'])) {
                 $obj->port = $dsna['port'];
             }
             foreach ($opt as $k => $v) {
                 switch (strtolower($k)) {
                     case 'new':
                         $nconnect = true;
                         $persist = true;
                         break;
                     case 'persist':
                     case 'persistent':
                         $persist = $v;
                         break;
                     case 'debug':
                         $obj->debug = (int) $v;
                         break;
                         #ibase
                     #ibase
                     case 'role':
                         $obj->role = $v;
                         break;
                     case 'dialect':
                         $obj->dialect = (int) $v;
                         break;
                     case 'charset':
                         $obj->charset = $v;
                         $obj->charSet = $v;
                         break;
                     case 'buffers':
                         $obj->buffers = $v;
                         break;
                     case 'fetchmode':
                         $obj->SetFetchMode($v);
                         break;
                         #ado
                     #ado
                     case 'charpage':
                         $obj->charPage = $v;
                         break;
                         #mysql, mysqli
                     #mysql, mysqli
                     case 'clientflags':
                         $obj->clientFlags = $v;
                         break;
                         #mysql, mysqli, postgres
                     #mysql, mysqli, postgres
                     case 'port':
                         $obj->port = $v;
                         break;
                         #mysqli
                     #mysqli
                     case 'socket':
                         $obj->socket = $v;
                         break;
                         #oci8
                     #oci8
                     case 'nls_date_format':
                         $obj->NLS_DATE_FORMAT = $v;
                         break;
                 }
             }
             if (empty($persist)) {
                 $ok = $obj->Connect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
             } else {
                 if (empty($nconnect)) {
                     $ok = $obj->PConnect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
                 } else {
                     $ok = $obj->NConnect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
                 }
             }
             if (!$ok) {
                 return $false;
             }
         }
     }
     return $obj;
 }
Esempio n. 18
0
	'logos' => array('odbc','logos','','',''),
	'logos2' => array('odbc','logos2','','',''),
	'nwind' => array('access','nwind','','',''),
	'mysqlnwind' => array('mysql','192.168.0.1','root','','northwind')
);
*/
if (empty($PHPLENS_DATABASES)) {
    die("You must define the array PHPLENS_DATABASES to use the Grid Builder");
}
if (isset($HTTP_GET_VARS['driver'])) {
    $lens_qb_drivername = $HTTP_GET_VARS['driver'];
}
if (empty($lens_qb_drivername) || empty($PHPLENS_DATABASES[$lens_qb_drivername])) {
    $lens_qb_arr = reset($PHPLENS_DATABASES);
    $lens_qb_drivername = key($PHPLENS_DATABASES);
} else {
    $lens_qb_arr = $PHPLENS_DATABASES[$lens_qb_drivername];
}
$lens_qb_driver = $lens_qb_arr[0];
$lens_qb_server = $lens_qb_arr[1];
$lens_qb_user = $lens_qb_arr[2];
$lens_qb_pwd = $lens_qb_arr[3];
$lens_qb_database = $lens_qb_arr[4];
if (empty($lens_qb_id)) {
    $lens_qb_id = lens_qb_gen_id();
}
ADOLoadCode($lens_qb_driver);
$gDB = NewADOConnection();
if (!$gDB->PConnect($lens_qb_server, $lens_qb_user, $lens_qb_pwd, $lens_qb_database)) {
    $gDB = false;
}