ďťż
 
Oracle + PHP ďťż
 
Oracle + PHP
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Oracle + PHP



Maciek - 17-05-2006 00:41
Oracle + PHP
  Witam...

Chciałbym się dowiedzieć, czy istnieje mozliowość wypisywania, wstawiania,
edytowania i usówania danych do VARRAY i tabel zagnieżdzonych.
Chcialbym też móc ustanawiać referencje między tabelami.

Chodzi tu oczywiście o bazę obiektową, bo z relacyjnymi tabelami to
raczej nie ma problemu jesli chodzi o te sprawy

Byłbym wdzieczny za podpowiedz w tej sprawie.
W google znalazłem nietety tylko informacje na temat łaczenia i wykonywania
operacji na bazie relacyjnej.

Chciałbym to zrobic na Oracle 9i (bo ten na mojej uczelni jest tak postawiony, ze
mozna sie z nim łaczyć z zewnątrz).

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





dap - 18-05-2006 00:16

  Maciek wrote:
> Witam...
>
> Chciałbym się dowiedzieć, czy istnieje mozliowość wypisywania, wstawiania,
> edytowania i usówania danych do VARRAY i tabel zagnieżdzonych.
> Chcialbym też móc ustanawiać referencje między tabelami.
>
> Chodzi tu oczywiście o bazę obiektową, bo z relacyjnymi tabelami to
> raczej nie ma problemu jesli chodzi o te sprawy
>
> Byłbym wdzieczny za podpowiedz w tej sprawie.
> W google znalazłem nietety tylko informacje na temat łaczenia i wykonywania
> operacji na bazie relacyjnej.
>
> Chciałbym to zrobic na Oracle 9i (bo ten na mojej uczelni jest tak postawiony, ze
> mozna sie z nim łaczyć z zewnątrz).
>

A mozna wiedziec po co Ci te typy? Ja raczej spotkalem sie z ich
unikanim, niz uzywaniem.

dap

--
polanski.biz
xoops.pl




alienart@op.pl - 18-05-2006 00:16

 
> A mozna wiedziec po co Ci te typy? Ja raczej spotkalem sie z ich
> unikanim, niz uzywaniem.
>
> dap

Takie są wymogi projektu - bazu musi mieć typy VARRAY i tabele zagnieżdzone.
A potem trzeba do tego napisać klienta. Chciałbym to zrobić w php, bo
Java + HDeveloper to totalna porażka - mój komp nie wyrabia... dziwnie mi
działa JDeveloper. .. no i nie przepada za Javą :]

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 18-05-2006 00:16

  alienart@op.pl wrote:
> Takie są wymogi projektu - bazu musi mieć typy VARRAY i tabele
> zagnieżdzone. A potem trzeba do tego napisać klienta.
No to robisz wszystko elegancko w bazie, a potem kliku-kliku
w HTML DB / Application Express i gotowe. :->

--
Michał Kuratczyk





dap - 18-05-2006 00:16

  alienart@op.pl wrote:
>>A mozna wiedziec po co Ci te typy? Ja raczej spotkalem sie z ich
>>unikanim, niz uzywaniem.
>>
>>dap
>
>
> Takie są wymogi projektu - bazu musi mieć typy VARRAY i tabele zagnieżdzone.
> A potem trzeba do tego napisać klienta. Chciałbym to zrobić w php, bo
> Java + HDeveloper to totalna porażka - mój komp nie wyrabia... dziwnie mi
> działa JDeveloper. .. no i nie przepada za Javą :]

Jeszcze jest taki program: SQL Developer
http://www.oracle.com/technology/pro...per/index.html

--
polanski.biz
xoops.pl




alienart@op.pl - 19-05-2006 00:19

 
> Jeszcze jest taki program: SQL Developer
> http://www.oracle.com/technology/pro...per/index.html

Ale tu chodzo o to, ze to ja mam SAM napisac klienta, a nie skorzystać
z gotowego rozwiązania.

A nie potrafię wypisać wartości typu VARRAY, bo polecenia które róbowałem zwracają
mi typ VARRAY a nie wartości w nim zawarte.

Przykład:

CREATE OR REPLACE TYPE telefon_vartyp AS VARRAY(5) OF VARCHAR2(20);
/

CREATE OR REPLACE TYPE osoba_objtyp AS OBJECT (
id NUMBER,
imie VARCHAR2(20),
nazwisko VARCHAR2(30),
telefon_var telefon_vartyp
) NOT FINAL;
/

CREATE OR REPLACE TYPE zawodnik_objtyp UNDER osoba_objtyp (
id_kraj_ref REF kraj_objtyp,
id_trener_ref REF trener_objtyp
);
/

CREATE TABLE zawodnik_objtab OF zawodnik_objtyp (
id PRIMARY KEY
);

Po wykonaniua polecenia "select * from zawodnik_objtab"
zwraca mi coś takiego:

1 Janne Ahonen
TELEFON_VARTYP('501902384')
000022020813E7EF0595C4A19FE040ADD988C6357A13E7EF05 95BBA19FE040ADD988C6357A
000022020813E7EF0595CFA19FE040ADD988C6357A13E7EF05 95BCA19FE040ADD988C6357A

A ja potrzebuje dostać samo 501902384, bo inaczej w php wyskakuje mi bład
związany z nieporawnymi typami danych, bo do skryptu polecenie przekazuje
TELEFON_VARTYP('501902384'), zamist samego 501902384.

I tak samo bedzie z tabelami zagniezdzonymi :(

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




alienartWYTNIJTO@op.pl - 21-05-2006 00:23

  Nikt mi nie potrafił tu pomóc ale samemu udało mi się znaleźć rozwiązanie.
Zatem chciałbym sie podzielić nim ;)

//połaczenie z bazą
$db="(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP) (HOST = xxxxxxx.pl) (PORT = 1521))
(CONNECT_DATA = (SID = xxxxxx)))";
$c=OCILogon('LOGIN','HASLO',$db);

//wypisanie danych
$s = OCIParse($c, "SELECT z.id, z.imie, z.nazwisko, tel.column_value, k.id AS
id_kraj, k.kraj, t.id AS id_trener, t.nazwisko AS nazwisko_trener FROM
zawodnik_objtab z, TABLE(z.telefon_var) tel, kraj_objtab k, trener_objtab t
WHERE z.id_kraj_ref=ref(k) AND z.id_trener_ref=ref(t)");
OCIExecute($s, OCI_DEFAULT);

while (OCIFetch($s)) {
echo " id= " . ociresult($s, "ID") . " imie= " . ociresult($s, "IMIE") . "
telefon= " . ociresult($s, "COLUMN_VALUE") . " itd. ;) ";
}

//wstawianie danych
$s = OCIParse($c, "INSERT INTO zawodnik_objtab VALUES
($id,'$imie','$nazwisko',telefon_vartyp('$telefon' ),(select ref(k) from
kraj_objtab k where k.id='$id_kraj'),(select ref(t) from trener_objtab t where
t.id='$id_trener'))");
OCIExecute($s, OCI_DEFAULT);
OCICommit($c); //zatwierdzenie tranzakcji
OCILogoff($c); //wylogowanie

//edycja danych
$s = OCIParse($c, "UPDATE zawodnik_objtab SET id=$id, imie='$imie',
nazwisko='$nazwisko', telefon_var=telefon_vartyp('$telefon'),
id_kraj_ref=(select ref(k) from kraj_objtab k where k.id='$id_kraj'),
id_trener_ref=(select ref(t) from trener_objtab t where t.id='$id_trener') WHERE
id='$id'");
OCIExecute($s, OCI_DEFAULT);
OCICommit($c);
OCILogoff($c);

//usuwanie danych
$s = OCIParse($c, "DELETE FROM zawodnik_objtab WHERE id='$id'");
OCIExecute($s, OCI_DEFAULT);
OCICommit($c);
OCILogoff($c);

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= Oracle 19g +Insert +Insert +Insert... [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?= =?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?= [oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?= [oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?= MSSQL Express czy Oracle Express =?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?= =?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • numervin.keep.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com