PDA

Visualizza versione completa : Query SQL e Oracle


Alhazred
16-11-2004, 11.26.58
Ho bisogno di esercitarmi con delle query SQL, mi è stato prestato Oracle 9i... ma non ci capisco nulla!
E' una cosa immensa, come si imposta? Come si usa?
Nel senso, io ho bisogno di creare una base di dati e fare delle query, ma Oracle mi chiede impostazioni assurde... client, server, domini... non so dove mettere le mani.
Non esiste nulla di più semplice per quello che devo fare io? Magari anche un programmino stupido, io non ho la necessità di creare una base di dati da condividere in una rete, devo solo esercitarmi con le query!

Dav82
16-11-2004, 11.35.16
Microsoft Access oppure MySql, entrambi grat.. ehm, il secondo è gratuito :p

Ocio che sia in Access che in MySql ti scontri con dei dialetti di SQL, non usi SQL come lo studi a lezione: qualche apice qua e là, qualche parentesi in più, magari delle query impestate non puoi farle....

Cmq, usando access (che a prima vista può risultare più semplice) ti crei le tue tabelle da visualizzazione struttura, inserisci i dati che ti servono, e poi crei delle query in visualizzazione strutura: ovviamente visto che ti devi esercitare non usi il wizard grafico, ma clicchi sul magico tastino "SQL" in alto :p: lì ci scrivi il codice, salvi ed esegui ;)

Se hai problemi con il dialetto di Access, qualche cosina me la ricordo :)

Alhazred
16-11-2004, 11.39.01
Grazie, proverò a vedere cosa riesco a fare :)

Deep73
16-11-2004, 12.22.23
Originariamente inviato da Alhazred
Ho bisogno di esercitarmi con delle query SQL, mi è stato prestato Oracle 9i... ma non ci capisco nulla!
E' una cosa immensa, come si imposta? Come si usa?
Nel senso, io ho bisogno di creare una base di dati e fare delle query, ma Oracle mi chiede impostazioni assurde... client, server, domini... non so dove mettere le mani.
Non esiste nulla di più semplice per quello che devo fare io? Magari anche un programmino stupido, io non ho la necessità di creare una base di dati da condividere in una rete, devo solo esercitarmi con le query!

Cavolo! Per esercitarti ti hanno dato una Ferrari!

Cmq. se ti può essere utile, piuttosto che quello squallido di Access, meglio usare come motore MSDE che è praticamente il server MS SQL 2000 privato di tutti i fronzoli e applet varie. E' gratuito fino a 5 connessioni. Così magari ti puoi esercitare anche ad eseguire query da remoto. S'installa in pochi minuti, lo trovi sul sito MS oppure anche sui cd di Office (versioni Premium per il 2000, Professional per XP e 2003).

Unico neo quello di dover avere un ambiente per scrivere ed eseguire le query, in questo caso anche Access può andare ma credo ci siano anche altri client gratuiti.

quipo.it
17-11-2004, 10.12.23
http://www.postgresql.org/ (se usi windows: http://pgfoundry.org/frs/download.php/72/postgresql-8.0.0-beta4.zip)

oppure

http://www.mysql.com

DavideDave
18-11-2004, 09.40.13
Originariamente inviato da Alhazred
Ho bisogno di esercitarmi con delle query SQL, mi è stato prestato Oracle 9i... ma non ci capisco nulla!
E' una cosa immensa, come si imposta? Come si usa?
Nel senso, io ho bisogno di creare una base di dati e fare delle query, ma Oracle mi chiede impostazioni assurde... client, server, domini... non so dove mettere le mani.
Non esiste nulla di più semplice per quello che devo fare io? Magari anche un programmino stupido, io non ho la necessità di creare una base di dati da condividere in una rete, devo solo esercitarmi con le query!

:eek:




:D




ci sono dei PDF grossi mega e mega che spiegano un'installazione di Oracle

poi porca miseria Oracle9i ti han dato...nemmeno una 8.1.7 che forse sarebbe stata anche piu' semplice

cmq in questa sede spiegarti un'installazione di Oracle, e successiva preparazione dell'ambiente di test è praticamente impossibile :(

Deep73
22-11-2004, 15.41.59
Già, anche perchè poi per essere pienamente fruibile dovresti procurarti Toad, il miglior front-end di sviluppo per Oracle esistente.

DavideDave
22-11-2004, 15.45.45
ma vaaaaaaaaaaa

SQL* PLus e via :D

Deep73
23-11-2004, 12.53.07
Originariamente inviato da DavideDave
ma vaaaaaaaaaaa

SQL* PLus e via :D

SQL Plus : DOS = Toad : Windows

Ehm... :o

E' chiaro che i metodi + spartani siano i migliori (infatti, l'Enterprise Management Console, SCRITTA in JAVA, fa cagare :D ), ma per paciugare un pò Toad offre strumenti molto fruibili.

Dav82
23-11-2004, 12.56.16
Originariamente inviato da Deep73
infatti, l'Enterprise Management Console, SCRITTA in JAVA, fa cagare :D )

http://www.spammers.it/perp/7.gif

(W)

:p

DavideDave
23-11-2004, 14.04.45
DBA Studio non era male...sempre scritto in JAVA ma ovviamente...ma tutto il codice che sta dietro ad Oracle è Java, se è per questo...

ceccus
23-11-2004, 14.54.49
Salve,
Beh..a me risulta che il Driver ODBC For Oracle sia scritto in C e non in Java....comunque....

Ciao !!

DavideDave
23-11-2004, 14.59.13
che c'entra :confused:

è un driver ODBC..deve poter essere installato su windows...quindi non deve necessitare di una java virtual machine...ed è ovvio che sia fatto in C...

quando parlo di cose sviluppate in java e che girano sotto oracle mi riferisco ad aspetti un po' piu'...importanti...tipo application server...oggetti embeddati nel DB eccetera...non certo ad un misero driver ODBC ;)

ceccus
23-11-2004, 15.08.18
Salve,
Beh...di Application Server, su Oracle , non c'è nulla...visto che l' Application Server di Windows è il COM+ (IIS 6.0 + COM+ per i Sistemi Windows 2003) e , per esempio, l'Application Server sotto Linux/AIX è WebSphere......se intendi, per application Server,come è la dizione, cioè l' ambiente applicativo dove gira lo strato di "Business Object".
Oracle , fa parte, nei sistemi Three Tier(e non solo in quelli) dello Strato Database, a cui il livello di Object accede e che a sua volta è richiamato dal livello Presentation.
Quindi, in definita, per accedere ad Oracle , PUO' essere invocata la JVM, ma NON è necessario.....(vedi ambineti, per esempio, tipicamente Microsoft...)

Ciao !!

P.S. : negli ambienti "Enterprise", senza il "misero" Driver ODBC, non accedi a nulla....visto che il "misero" driver ODBC regola il Pool delle connessioni verso il DB e , in qualche caso, gestisce anche le regole XA per la corretta "messa in onda" delle Transazioni....ODBC o OLEDB....ODBC, per esempio, nel caso del DB2 for Z/OS (MVS Mainframe IBM)

DavideDave
23-11-2004, 15.15.02
mi sa che ti sei scordato una cosa che si chiama Oracle IAS 10G e che è l'application server di nuova generazione della Oracle ;)

per il resto...il fatto è solo uno...il driverd ODBC serve se devi acedere ad oracle da ambienti windows...e cmq...in ogni caso...il pool..e la connessione...la puoi fare benissimo, anke da windows, utilizzando il driver jdbc...ovvio che se usi VB, .NET, tutto quello che vuoi che NON SIA java...allora devi per forza usare l'odbc...ma è e rimane un driver...nulla di piu'...l'UNICA cosa o quasi scritta in C che sta dietro ad oracle

che poi a voler ben vedere non ci sta nemmeno dietro...ma di fianco...

ceccus
23-11-2004, 15.23.51
Salve,
No, no...l' ambiente Oracle IAS 10G non me lo sono dimenticato...è che come Application Server non può stare , per il momento, a competere sia con Websphere che con IIS/COM+.....mai provato a connetterlo con Sistemi CICS IBM ??
Poi, trattandosi di Oracle, sicuramente da piattaforma Microsoft utilizzerò un OLEDB Provider (anche se esiste l' ODBC)
Ti ricordo che in un ambiente "enterprise" (Aziendale) avrai sicuramente bisogno di gestire "Transazioni" , partendo da un ambiente "periferico" (Windows o Linux) e "propagando" la Transazione" su ambienti Mainframe , tipicamente CICS (Customer Information Control Sytem) e questo lo potrai fare SOLO ed ESCLUSIVAMENTE se utilizzerai un Application Server e un Driver di accesso ai dati XA compliant , quali appunto i Driver JDBC,ODBC, OLEDB.....

Ciao !!

Deep73
23-11-2004, 17.03.09
Ehi voi due.... allora mi spiegate una cosa fra tutti stì drivers ODBC e menate varie:

com'è che le mie (nostre) applicazioni si collegano ad Oracle SENZA alcun appoggio a ODBC e quanto di cui sopra? Anzi sul client non installiamo proprio nulla se non l'applicazione stessa.

:devil:

Ergo: il driver ODBC non serve una cippa con Oracle.

ceccus
23-11-2004, 17.25.54
Salve,
Allora, prima di dire che il Driver ODBC o OLEDB non serve a nulla (e in questo caso parlare di Oracle è perfettamente equivalente a parlare di DBII e di Sybase o di SQLServer, per esempio)....di acqua sotto i ponti ne deve passare....
Primo : che tipo di applicazione è la Tua ??
Secondo : in che ambito si colloca (vale a dire Enterprise di basso livello o di alto livello, Home...)
Terzo : Se la tua applicazione , per funzionare, ha bisogno di transazioni
Quarto : Se la tua applicazione utilizza altre fonti Dati al di fuori di Oracle....
Quinto : se la tua applicazione è sviluppata per collquiare con piattaforme differenti (Es : Windows - IBM Mainframe)
Sesto : Come instauri la comunicazione fra l'applicazione Client (che immagino suddivisa almeno su 2 livelli) e il Server (in questo caso il DB....)

Ciao !!

DavideDave
23-11-2004, 17.47.59
ceccus...il fatto iniziale era...la tua "domanda"...."e dove mettiamo l'ODBC che è fatto in C?" e io ti ho risposto...sì ok...è fatto in C....ma per quanto riguarda Oracle è proprio l'unica cosa fatta in C...o quasi...

tra l'altro c'è sia quello di microsoft che quello di oracle ;)

e cmq mi stai parlando di un DRIVER...sviluppato SPECIFICATAMENTE per ambienti microsoft...è utile SOLO in questi ambienti, e comunque RIMPIAZZABILE da altri drivers come il JDBC...che fanno le stesse cose...se non di piu'...e in maniera piu' performante..

ceccus
23-11-2004, 17.57.33
SAlve,
...e su questo siamo perfettamente d'accordo....ma converrai con me che chi sviluppa in maniera "Enterprise" su piattaforma Microsoft , non ne può fare a meno di QUEL Driver....e stiamo parlando almeno del 70% delle grandi aziende Mondiali....(quelle Italiane NON sono escluse, vedi la mia...)
Poi, il fatto di essere più o meno performante, non dipende SOLO dal Driver, ma anche dall' Ambiente in cui gira.....Oracle for Unix è più performante di Oracle for Windows....ma in questo il Driver non centra praticamente niente....anche perchè , ripeto, le caratteristiche più importanti di un Driver OLEDB/ODBC sono 2 :
1) Il rispetto delle regole XA per quanto riguarda le transazioni
2) il rispetto del protocollo di Two Phase Commit a cui tutti i Resource Manager devono sottostare (e il driver funge da Resource Manager del DB nei confronti del Transaction Coordinator utilizzato nell' Application Server....)
Tengo a precisare che NON è assolutamente polemica...è un dire esattamente come stanno le cose...tutto quà...

Ciao !!:) :) :)

Deep73
24-11-2004, 13.44.52
Originariamente inviato da ceccus
Salve,
Allora, prima di dire che il Driver ODBC o OLEDB non serve a nulla (e in questo caso parlare di Oracle è perfettamente equivalente a parlare di DBII e di Sybase o di SQLServer, per esempio)....di acqua sotto i ponti ne deve passare....
Primo : che tipo di applicazione è la Tua ??
Secondo : in che ambito si colloca (vale a dire Enterprise di basso livello o di alto livello, Home...)
Terzo : Se la tua applicazione , per funzionare, ha bisogno di transazioni
Quarto : Se la tua applicazione utilizza altre fonti Dati al di fuori di Oracle....
Quinto : se la tua applicazione è sviluppata per collquiare con piattaforme differenti (Es : Windows - IBM Mainframe)
Sesto : Come instauri la comunicazione fra l'applicazione Client (che immagino suddivisa almeno su 2 livelli) e il Server (in questo caso il DB....)

Ciao !!

Io ho detto che se ne può fare completamente a meno.
Riposte:
Primo - software client/server di cartella clinica ed integrazione metodiche classiche. Gestione intraoperatoria, degenza e flusso DICOM.
Secondo - vedi tu, per come è fatta può esser messa su un pc singolo del medico di famiglia fino ad un cluster multinodo che gestisce migliaia di clients. Dove va Oracle, l'applicazione gira.
Terzo - ovviamente sì.
Quarto - in genere no, a meno di richieste specifiche da parte del cliente, quel che si può importare in Oracle lo s'importa.
Quinto - solo Windows di norma. Qualche RIS in Unix per via delle metodiche.
Sesto - sfrutto direttamente il protocollo Oracle, senza passare per Net80. Linguaggio Delphi, componenti ODAC. Qualsiasi tentativo di usare ODBC è fallito miseramente a causa della lentezza e della instabilità di quel driver.

ceccus
24-11-2004, 14.08.06
Salve,
E 'abbastanza chiaro, ora , che quella applicazione è "cablata" su Oracle e , così come è, non sarà possibile nè integrarla con altri DB nè sarà possibile utilizzarla "pari pari" sostituendo il Database(Sybase, SQLServer, DB2)ma questa può essere una precisa scelta di progetto....nessun problema.
Immagina, per un momento di avere di fronte questo Scenario : 2 DB (Oracle da una parte e DB2 z/OS sull' altro...)
Oracle gira su rack centralizzati su Server Windows....
DB2 Z/OS gira nel proprio sistema TSO/CICS....Mainframe IBM
I 2 sottosistemi NON sono in comunicazione diretta fra loro....
L' unico modo di gestire una "transazione distribuita" è quello di utilizzare un'Application Server che abbia un suo Transaction Coordinator che funga da coordinatore delle transazioni. In ambiente Microsoft questo si esplica in COM+/DTC.
Per colloquiare con i 2 DB hai bisogno necessariamente di Driver OLEDB/ODBC che fungano da Resource Manager nei confronti del DB STESSO e che il coordinatore deve coordinare.
In questo scenario , i driver ODBC/OLEDB sono indispensabili, altrimenti il coordinatore non avrebbe Resource Manager a cui indirizzare le sue richieste , per esempio, di Commit o di Rollback.
Non solo, ma in questo scenario, l' applicazione se ne può tranquillamente "fregare" se "dalla parte di là" c'è Oracle o DB2....potrebbe esserci SQLServer e Sybase.....non cambierebbe proprio niente , tranne il Driver ODBC/OLEDB utilizzato......
Questo dà una notevole flessibilità in termini operativi , magari, e qui sono d'accordo, a scapito di performances....si tratta di trovare il giusto MIX....
Dimenticavo : l' esempio che ti ho portato NON è campato in aria...ma permette alla mia Azienda di sviluppare codice Multipiattaforma indipendente dal DB Utilizzato....e , in ambiente Enterprise, questo è fondamentale.. a maggior ragione per un Gruppo Bancario.......

Ciao !!