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 )