Weet iemand of het mogelijk is om met PHP een Oracle 9i-tabelnaam op te vragen? Ik heb gezocht op php.net, maar daar staat niets op
De tabelnamen worden door de database zelf ook wel ergens bijgehouden in een systeem tabel.
Welke tabel dat is, varieert dus van database tot database, en PHP zal er dus geen bepaalde functie voor hebben om dat te doen. Je zult moeten uitvogelen in welke systable de tabelnamen opgeslagen zitten.
Welke tabel dat is, varieert dus van database tot database, en PHP zal er dus geen bepaalde functie voor hebben om dat te doen. Je zult moeten uitvogelen in welke systable de tabelnamen opgeslagen zitten.
https://fgheysels.github.io/
Whoami, Dat klopt, de tabelnamen worden gewoon in de systeem tabellen bijgehouden. Zelfde tabel als de namen van alle functies, stored procedures en views. De naam van het systeemtabel is zelfs hetzelfde als in Oracle 8 en exact hetzelfde als in 11i.
Heeft verder niets met PHP te maken maar alles met ORACLE en SQL.
Heeft verder niets met PHP te maken maar alles met ORACLE en SQL.
Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR
Maar stel ik heb de volgende code:
In principe kun je met deze code een normaal werkend XML bestand maken. Alleen wil ik graag de tabellen ook opnemen in het XML-bestand. Dit werkt nu niet en alles komt in 1 tabel (als ik bijv. importeer in Acces). Hoe kan ik dit oplossen?
Als ik een singe table-query doe, bijvoorbeeld: 'select * from persons', dan is er geen probleem. Maar als ik een outer-join ofzo doe, dan verschijnt de data wel goed, maar weet access dus niet welke tabellen er betrekking op hebben.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| <?php $xml_file = "testXML.xml"; $username = "softdev"; $schema = "venus"; $password = "pass"; $query = "SELECT p.title, c.name FROM projects p, cos_cen C WHERE p.id = c.id"; $handle = ora_plogon("$username@$schema", "$password") or die("Error while connecting Oracle Database"); $cursor1 = ora_open($handle); ora_commitoff($handle); // Run query: $query @ora_parse($cursor1, $query); @ora_exec($cursor1); global $numcols,$numros; $numcols = 0; // Counter for the columns $numrows = 0; // Counter for the rows echo("<DATA>"); while(ora_fetch($cursor1)){ echo("<ROW NUMBER='$numrows'><br/>"); $numcols = ora_numcols($cursor1); for($column=0; $column < $numcols; $column++){ $data = trim(ora_getcolumn($cursor1, $column)); if($data =="") $data = "NULL"; echo("<".ora_columnname($cursor1,$column).">"); echo"$data"; echo("</".ora_columnname($cursor1,$column)."><br/>"); } echo("</ROW>"); echo "<br/><br/>"; $numrows++; } ora_close($cursor1); echo("</DATA>"); ?> |
In principe kun je met deze code een normaal werkend XML bestand maken. Alleen wil ik graag de tabellen ook opnemen in het XML-bestand. Dit werkt nu niet en alles komt in 1 tabel (als ik bijv. importeer in Acces). Hoe kan ik dit oplossen?
Als ik een singe table-query doe, bijvoorbeeld: 'select * from persons', dan is er geen probleem. Maar als ik een outer-join ofzo doe, dan verschijnt de data wel goed, maar weet access dus niet welke tabellen er betrekking op hebben.
Verwijderd schreef op 31 maart 2003 @ 11:44:
iemand? In principe moet het toch mogelijk zijn om de tabelnamen op te vragen ofniet?
Zoals reeds 2 keer vermeld: de tabelnamen zitten in een systeemtabel in de database. Zoek eens uit hoe die system-table heet in Oracle, en kijk dan eens welke gegevens erin zitten.
https://fgheysels.github.io/
tis me niet geheel duidelijk wat je nu precies wilt, maar de tabelnamen kan je vinden in de Oracle views DBA_TABLES, ALL_TABLES en USER_TABLES (voor resp. alle tabellen in de gehele db, alle tabellen waar de huidig ingelogde gebruiker rechten toe heeft, en alle tabellen die gecreeerd zijn in het schema van de huidige gebruiker).
Dankje. Hetgeen ik wil is eigenlijk een XML-bestand als output met daarin de tabelnamen EN de data.sverzijl schreef op 31 March 2003 @ 13:01:
tis me niet geheel duidelijk wat je nu precies wilt, maar de tabelnamen kan je vinden in de Oracle views DBA_TABLES, ALL_TABLES en USER_TABLES (voor resp. alle tabellen in de gehele db, alle tabellen waar de huidig ingelogde gebruiker rechten toe heeft, en alle tabellen die gecreeerd zijn in het schema van de huidige gebruiker).
Dus:
code:
1
2
3
4
5
6
7
8
9
10
| <xml bal bal bal>
<projects>
<id>1</id>
<name>project name</name>
</projects>
<persons>
<id>1</id>
<first_name>Rogier</first_name>
</persons>
</xml> |
Zoiets dus. Niet alleen de kolomnamen met data, maar ook de tabellen.
Tja, dan zul je toch echt wel zelf iets in elkaar moeten programmeren hoor.....
P&W is een discussiefora waar men mensen probeert verder te helpen, niet om complete scripts voor anderen te schrijven.
Nu je weet hoe je de tabelnamen kunt ophalen, is het maken van zo'n xml-bestand ook niet zo heel moeilijk meer.
Succes.
P&W is een discussiefora waar men mensen probeert verder te helpen, niet om complete scripts voor anderen te schrijven.
Nu je weet hoe je de tabelnamen kunt ophalen, is het maken van zo'n xml-bestand ook niet zo heel moeilijk meer.
Succes.
https://fgheysels.github.io/
Pagina: 1
Dit topic is gesloten.
![]()