<?php 
use eftec\PdoOne; 
use mapache_commons\Collection; 
 
include "../vendor/autoload.php"; 
include "Collection.php"; 
include "dBug.php"; 
 
 
//  The web server will need the environmental variable TNS_ADMIN='Directory of tnsname.ora' unless the default location is used. I use '/etc/tns_admin'. Confirm using the phpinfo(). 
 
try { 
    $cs='xepdb1'; 
    # $cs='(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = XEPDB1)))'; 
    //$cs='(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = instancia1)))'; 
    //$cs='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = instancia1) ))'; 
    $cs='(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = PCJC)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XEPDB1)))'; 
    $conn = new PdoOne('oci', $cs, 'books_admin', 'MyPassword'); 
    $conn->logLevel=3; 
    var_dump('open'); 
    $conn->open(true,true); 
} catch(Exception $ex) { 
    echo "<pre>"; 
    var_dump($ex); 
    var_dump($conn->lastError()); 
    echo "</pre>"; 
    die(1); 
} 
 
 
if(!$conn->tableExist('TABLE1')) { 
    $conn->createTable('TABLE1',[ 
            'COL1'=>'int not null' 
            ,'COL2'=>'varchar2(200)' 
            ,'COL3'=>'decimal(10,2)' 
            ,'COL4'=>'date'] 
        ,['COL1'=>'PRIMARY KEY' 
            ,'COL2'=>'KEY']); 
} 
echo "<hr>List with limit:<br>"; 
$data=$conn->select('*')->from('TABLE1')->order('col1')->limit("0,3")->toList(); 
var_dump($data); 
echo "<hr>primary key:<br>"; 
var_dump($conn->getPK('TABLE1')); 
echo "<br>"; 
var_dump($conn->tableExist('TABLE1')); 
echo "<br>"; 
 
echo "<pre>getDefTableKeys:"; 
$keys=$conn->getDefTableKeys('TABLE1'); 
var_dump($keys); 
 
echo "</pre><br>"; 
 
echo "<pre>getDefTable:"; 
$keys=$conn->getDefTable('TABLE1'); 
var_dump($keys); 
die(1); 
echo "</pre><br>"; 
 
echo Collection::generateTable($conn->objectList('table')); 
 
IF($conn->tableExist('TABLE3')) { 
    $conn->dropTable('TABLE3'); 
} 
 
 
IF(!$conn->objectExist('SEQ1','sequence')) { 
    $conn->createSequence('SEQ1'); 
} 
echo "<hr>sequence:<br>"; 
var_dump($conn->getSequence(true,false,'SEQ1')); 
 
$conn->createTable('TABLE3',[ 
    'col1'=>'int not null' 
    ,'col2'=>'varchar2(200)'] 
    ,['col1'=>'PRIMARY KEY' 
    ,'col2'=>'KEY']); 
 
 
echo Collection::generateTable($data); 
 
echo "loading.."; 
 
$data=$conn->getDefTableExtended('TABLE1'); 
 
echo "ok"; 
var_dump($data); 
echo Collection::generateTable($data); 
 
 
 |