Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-07-2004, 10:16   #1
etonRifles
Member
 
L'Avatar di etonRifles
 
Iscritto dal: Aug 2003
Città: Roma
Messaggi: 35
Java e DB2 - catalogo database

Vorrei realizzare un piccolo (?) programma java che mi visualizzi l'elenco di tutti i database gestiti da un DBMS specificato (nel mio caso DB2) con i nomi delle tabelle... ho visto che nel package java.sql ci sono alcune classi ed interfacce che potrebbero fare al caso mio (DatabaseMetaData ... ), ma onestamente non capisco come sia possibile utilizzarle nel mio caso. Il problema in pratica è solo ottenere l'elenco dei database... estrarre le informazioni relative alle tabelle di un database poi è piuttosto semplice.
help please
__________________
~~~~~~~~~~~~~~~~~~
"Cogito ergo rhum"
etonRifles è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2004, 15:19   #2
cavva81
Member
 
Iscritto dal: Nov 2003
Città: Modena
Messaggi: 149
prova una cosa tipo questa

Codice:
public void readTables() throws SQLException {

  DatabaseMetaData metadata = null;
  Connection currentConnection = (tua connessione)
  metadata = currentConnection.getMetaData();
  String[] names = {"TABLE"};
  ResultSet tableNames = metadata.getTables(null,"%", "%", names);
  while (tableNames.next()) {
   tableNames.getString("TABLE_NAME")
  }
}
cmq qui trovi una buona descrizione su tutto quello ke puoi fare con i metadata del JDBC
cavva81 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2004, 11:28   #3
Fabio_si
Senior Member
 
L'Avatar di Fabio_si
 
Iscritto dal: May 2000
Città: Roma
Messaggi: 808
Io so che in DB2 la tabella di catalogo che contiene le informazioni sulle tabelle utente e di sistema è la:

sysibm.systables

Credo che dovrai aprirti una connessione Jdbc con il DB2 e fare una query su questa con l'opzione:

where creator="il tuo qualificatore"
Fabio_si è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2004, 14:07   #4
Fede
Senior Member
 
L'Avatar di Fede
 
Iscritto dal: Feb 2000
Città: Roma (S.E.) Trattative_concluse: 300+
Messaggi: 15749
Quote:
Originariamente inviato da cavva81


Codice:
  Connection currentConnection = (tua connessione)


che vuol di'?
ma se non li so????
come faccio a sapere qual' e' la mia connessione?
(non conosco il database)
__________________
I ricordi sono sempre tristi: quelli brutti perchè sono amari, quelli belli perché sono solo ricordi
Dal mio corpo in putrefazione cresceranno dei fiori, e io sarò dentro di loro. Questa è l'eternità. (E. Munch)

Ultima modifica di Fede : 28-07-2004 alle 14:10.
Fede è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2004, 14:08   #5
Fede
Senior Member
 
L'Avatar di Fede
 
Iscritto dal: Feb 2000
Città: Roma (S.E.) Trattative_concluse: 300+
Messaggi: 15749
Quote:
Originariamente inviato da Fabio_si
Io so che in DB2 la tabella di catalogo che contiene le informazioni sulle tabelle utente e di sistema è la:

sysibm.systables

Credo che dovrai aprirti una connessione Jdbc con il DB2 e fare una query su questa con l'opzione:

where creator="il tuo qualificatore"
gia' questa mi piace di piu'.
Questa potrebbe essere una chicca.
__________________
I ricordi sono sempre tristi: quelli brutti perchè sono amari, quelli belli perché sono solo ricordi
Dal mio corpo in putrefazione cresceranno dei fiori, e io sarò dentro di loro. Questa è l'eternità. (E. Munch)
Fede è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2004, 14:18   #6
Fabio_si
Senior Member
 
L'Avatar di Fabio_si
 
Iscritto dal: May 2000
Città: Roma
Messaggi: 808
Quote:
Originariamente inviato da Fede
gia' questa mi piace di piu'.
Questa potrebbe essere una chicca.
Ciao Fede, come va ?

Non mi parlare di DB2 è stato il mio pane quotidiano per anni, assieme al Cobol e al Cics.

Sono già 3 o 4 anni ormai che lavoro su piattaforma Web / Java su Dbms Oracle/Db2/MySql , molto più divertente e ti da più soddisfazioni.

L'università come va ?

Stai lavorando ?
Fabio_si è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2004, 14:21   #7
Fede
Senior Member
 
L'Avatar di Fede
 
Iscritto dal: Feb 2000
Città: Roma (S.E.) Trattative_concluse: 300+
Messaggi: 15749
Quote:
Originariamente inviato da Fabio_si
Ciao Fede, come va ?

Non mi parlare di DB2 è stato il mio pane quotidiano per anni, assieme al Cobol e al Cics.

Sono già 3 o 4 anni ormai che lavoro su piattaforma Web / Java su Dbms Oracle/Db2/MySql , molto più divertente e ti da più soddisfazioni.

L'università come va ?

Stai lavorando ?
[OT]
non ti avevo riconosciuto... pensa un po' come sto

cmq uni non male...
lavoro ehmmm al momento no
tu tutto ok?
cmq grazie
saluti
[/OT]
__________________
I ricordi sono sempre tristi: quelli brutti perchè sono amari, quelli belli perché sono solo ricordi
Dal mio corpo in putrefazione cresceranno dei fiori, e io sarò dentro di loro. Questa è l'eternità. (E. Munch)
Fede è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2004, 14:22   #8
Fede
Senior Member
 
L'Avatar di Fede
 
Iscritto dal: Feb 2000
Città: Roma (S.E.) Trattative_concluse: 300+
Messaggi: 15749
Quote:
Originariamente inviato da Fabio_si
Io so che in DB2 la tabella di catalogo che contiene le informazioni sulle tabelle utente e di sistema è la:

sysibm.systables

Credo che dovrai aprirti una connessione Jdbc con il DB2 e fare una query su questa con l'opzione:

where creator="il tuo qualificatore"
scusa, ma che db specificherei? (nell'indirizzo della connessione)
__________________
I ricordi sono sempre tristi: quelli brutti perchè sono amari, quelli belli perché sono solo ricordi
Dal mio corpo in putrefazione cresceranno dei fiori, e io sarò dentro di loro. Questa è l'eternità. (E. Munch)
Fede è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2004, 13:48   #9
Fabio_si
Senior Member
 
L'Avatar di Fabio_si
 
Iscritto dal: May 2000
Città: Roma
Messaggi: 808
Quote:
Originariamente inviato da Fede
scusa, ma che db specificherei? (nell'indirizzo della connessione)
Scusa il ritardo.

Se non usi datasource o pool di connessioni, puoi provare così:

Class.forName("COM.ibm.db2.jdbc.net.DB2Driver");
String url = "jdbc:db2://server_name:num_porta/nome_database";
Connection con = DriverManager.getConnection(url,"utente","password");
Statement stmt = con.createStatement();
Resultset rs = stmt.executeQuery("select * from sysibm.systables ....");

In Odbc dovrebbe essere così (non ne sono sicuro):

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:nome_database";
Connection con = DriverManager.getConnection(url);

Il tutto va preso con le dovute preucazioni poichè ho recuperato questo codice da vecchi programmi.
Adesso lavoro solo con i datasource (che oltretutto ti gestiscono automaticamente il pool di connessioni) e utilizzo l'approccio JNDI.
Fabio_si è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2004, 13:57   #10
etonRifles
Member
 
L'Avatar di etonRifles
 
Iscritto dal: Aug 2003
Città: Roma
Messaggi: 35
Quote:
Originariamente inviato da Fabio_si
Credo che dovrai aprirti una connessione Jdbc con il DB2
prima di tutto grazie per la risposta... però ho ancora un problema
... in che modo posso aprire la connessione a DB2? teoricamente dovrei specificare un database a cui connettermi con relativi username e password... la mia domanda è: quale database dal momento che il programma dovrebbe stamparli tutti senza che io sappia a priori quanti ce ne sono e quali sono?
__________________
~~~~~~~~~~~~~~~~~~
"Cogito ergo rhum"
etonRifles è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2004, 16:23   #11
dataman
Senior Member
 
L'Avatar di dataman
 
Iscritto dal: Jan 2001
Città: Milano, la mia città, che amo perdutamente, anche se certe volte mi vien voglia di andare a vivere in campagna... ah-ah, oh-oh !
Messaggi: 454
Quote:
Originariamente inviato da etonRifles
prima di tutto grazie per la risposta... però ho ancora un problema
... in che modo posso aprire la connessione a DB2? teoricamente dovrei specificare un database a cui connettermi con relativi username e password... la mia domanda è: quale database dal momento che il programma dovrebbe stamparli tutti senza che io sappia a priori quanti ce ne sono e quali sono?
L'elenco dei database di una istanza DB2 viene dato dal comando
CLP "db2 list db directory".

E' però un comando interattivo, e non so se possa essere invocato via JDBC.

Aspè che vado nella documentazione e guardo..
dataman è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2004, 17:31   #12
Fede
Senior Member
 
L'Avatar di Fede
 
Iscritto dal: Feb 2000
Città: Roma (S.E.) Trattative_concluse: 300+
Messaggi: 15749
Quote:
Originariamente inviato da dataman
L'elenco dei database di una istanza DB2 viene dato dal comando
CLP "db2 list db directory".

E' però un comando interattivo, e non so se possa essere invocato via JDBC.

Aspè che vado nella documentazione e guardo..
se la mia memoria non erra, non si puo'
__________________
I ricordi sono sempre tristi: quelli brutti perchè sono amari, quelli belli perché sono solo ricordi
Dal mio corpo in putrefazione cresceranno dei fiori, e io sarò dentro di loro. Questa è l'eternità. (E. Munch)
Fede è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2004, 18:02   #13
etonRifles
Member
 
L'Avatar di etonRifles
 
Iscritto dal: Aug 2003
Città: Roma
Messaggi: 35
Quote:
Originariamente inviato da Fede
se la mia memoria non erra, non si puo'
eseguire un comando è possibile, basta usare le classi Runtime e Process che non hanno nulla a che vedere con JDBC... il problema è che il comando che deve essere eseguito è un comando CLP ... se si potesse eseguire un comando di questo tipo poi si dovrebbe solo manipolare la stringa con l'output in maniera opportuna....

... sono sempre più disperato
__________________
~~~~~~~~~~~~~~~~~~
"Cogito ergo rhum"
etonRifles è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2004, 23:42   #14
Fabio_si
Senior Member
 
L'Avatar di Fabio_si
 
Iscritto dal: May 2000
Città: Roma
Messaggi: 808
Non vorrei sbagliarmi, è un pò che non smanetto con le tabelle di catalogo, ma esiste anche la
sysibm.sysdatabase
che ti da l'elenco dei database

Comunque almeno un database per attivare la connessione dovresti conoscerlo, altrimenti la vedo difficile.
Fabio_si è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2004, 09:32   #15
etonRifles
Member
 
L'Avatar di etonRifles
 
Iscritto dal: Aug 2003
Città: Roma
Messaggi: 35
Quote:
Originariamente inviato da Fabio_si
Comunque almeno un database per attivare la connessione dovresti conoscerlo, altrimenti la vedo difficile.
... pure io
__________________
~~~~~~~~~~~~~~~~~~
"Cogito ergo rhum"
etonRifles è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2004, 09:40   #16
dataman
Senior Member
 
L'Avatar di dataman
 
Iscritto dal: Jan 2001
Città: Milano, la mia città, che amo perdutamente, anche se certe volte mi vien voglia di andare a vivere in campagna... ah-ah, oh-oh !
Messaggi: 454
Quote:
Originariamente inviato da Fabio_si
Non vorrei sbagliarmi, è un pò che non smanetto con le tabelle di catalogo, ma esiste anche la
sysibm.sysdatabase
che ti da l'elenco dei database

Comunque almeno un database per attivare la connessione dovresti conoscerlo, altrimenti la vedo difficile.
SYSIBM.SYSDATABASE è una tabella di catalogo presente in un sottosistema DB2 z/OS, e non DB2 UDB. Il concetto di database in Z/OS è molto diverso da quello su piattaforme server (Windows e Unix).
In DB2 UDB ogni database ha il suo catalogo privato, che può quindi essere acceduto solo dopo una connessione esplicita.

Secondo me l'unica è agganciare la CLP e dare il comando "db2 list db directory" e formattarsi l'output.
dataman è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2004, 09:57   #17
dataman
Senior Member
 
L'Avatar di dataman
 
Iscritto dal: Jan 2001
Città: Milano, la mia città, che amo perdutamente, anche se certe volte mi vien voglia di andare a vivere in campagna... ah-ah, oh-oh !
Messaggi: 454
Toh, forse ho trovato qualcosa di interessante.

____________________________________________________
sqledgne - Get Next Database Directory Entry

Returns the next entry in the system database directory or the local database directory copy returned by sqledosd - Open Database Directory Scan. Subsequent calls to this API return additional entries.

Authorization

None

Required connection

None

API include file

sqlenv.h

C API syntax

/* File: sqlenv.h */
/* API: sqledgne */
/* ... */
SQL_API_RC SQL_API_FN
sqledgne (
unsigned short Handle,
struct sqledinfo **ppDbDirEntry,
struct sqlca *pSqlca);
/* ... */

Generic API syntax

/* File: sqlenv.h */
/* API: sqlgdgne */
/* ... */
SQL_API_RC SQL_API_FN
sqlgdgne (
unsigned short Handle,
struct sqledinfo **ppDbDirEntry,
struct sqlca *pSqlca);
/* ... */

API parameters

Handle
Input. Identifier returned from the associated OPEN DATABASE DIRECTORY SCAN API.
ppDbDirEntry
Output. The caller supplies the API with the address of a pointer to an sqledinfo structure. The space for the directory data is allocated by the API, and a pointer to that space is returned to the caller.
pSqlca
Output. A pointer to the sqlca structure.
REXX API syntax

GET DATABASE DIRECTORY ENTRY :scanid [USING :value]

REXX API parameters

scanid
A REXX host variable containing the identifier returned from the OPEN DATABASE DIRECTORY SCAN API.
value
A compound REXX host variable to which the database entry information is returned. If no name is given, the name SQLDINFO is used. In the following, XXX represents the host variable name (the corresponding field names are taken from the structure returned by the API):
XXX.0
Number of elements in the variable (always 12)
XXX.1
ALIAS (alias of the database)
XXX.2
DBNAME (name of the database)
XXX.3
DRIVE/PATH (local database directory path name)
XXX.3.1
NODE NUMBER (valid for local database directory only)
XXX.4
INTNAME (token identifying the database subdirectory)
XXX.5
NODENAME (name of the node where the database is located)
XXX.6
DBTYPE (product name and release number)
XXX.7
COMMENT (comment associated with the database)
XXX.8
Reserved
XXX.9
TYPE (entry type)
XXX.10
AUTHENTICATION (authentication type)
XXX.10.1
DCE principal
XXX.11
GLBDBNAME (Global database name)
XXX.12
CATALOG NODE NUMBER
Usage notes

All fields of the directory entry information buffer are padded to the right with blanks.

A subsequent GET NEXT DATABASE DIRECTORY ENTRY obtains the entry following the current entry.

The sqlcode value of sqlca is set to 1014 if there are no more entries to scan when GET NEXT DATABASE DIRECTORY ENTRY is called.

The count value returned by the OPEN DATABASE DIRECTORY SCAN API can be used to scan through the entire directory by issuing GET NEXT DATABASE DIRECTORY ENTRY calls, one at a time, until the number of scans equals the count of entries.

Related reference

sqledcls - Close Database Directory Scan
sqledosd - Open Database Directory Scan
SQLCA
SQLEDINFO
Related samples

COBOL

dbcat.cbl -- Catalog to and uncatalog from a database (IBM COBOL)
dbcmt.cbl -- Change a database comment in the database directory (IBM COBOL)
C

ininfo.c -- Set and get information at the instance level (C)
C++

ininfo.C -- Set and get information at the instance level (C++)
___________________________________________________

Questa la trovi documentata qui:

ftp://ftp.software.ibm.com/ps/produc...r/db2b0e80.pdf

Spero che ti aiuti

Ciao
dataman è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
Apple TV punta ai diritti USA dell'Open ...
Download pirata di Odissea: attenzione a...
Condivisione Schermo di macOS sotto atta...
Debutta Freelander, il nuovo marchio di ...
Le migliori offerte Amazon di oggi: Appl...
Ecco l'auto della discordia, Voyah Passi...
Virgin Galactic posticipa la ripresa dei...
Apple AirPods Pro 3 a 199€: ANC evoluto,...
Insta360 Flow Pro a 65€: il gimbal per i...
IONIQ 3, parte da Izmit la produzione de...
Per il cofondatore di Arm l'IA non &egra...
Nove CEO dell'AI, nessuno si salva: il m...
OpenAI ha sciolto il team che valutava i...
Dreame Aqua10 Ultra, super calo di prezz...
Microsoft ritira Mico: dal 18 agosto Cop...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:24.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v