Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone
Ad Appian Europe 2025, l'azienda parla molto della sua visione di cos'è e come dovrebbe essere usata l'intelligenza artificiale: è uno strumento che va sempre adoperato dalle persone, che devono rimanere responsabili dei processi all'interno dell'azienda. Non è un giocattolo con cui sperimentare, ma un aiuto per superare le sfide di business più importanti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-07-2004, 11: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, 16: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, 12: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, 15:07   #4
Fede
Senior Member
 
L'Avatar di Fede
 
Iscritto dal: Feb 2000
Città: Roma (S.E.) Trattative_concluse: 300+
Messaggi: 15735
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 15:10.
Fede è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2004, 15:08   #5
Fede
Senior Member
 
L'Avatar di Fede
 
Iscritto dal: Feb 2000
Città: Roma (S.E.) Trattative_concluse: 300+
Messaggi: 15735
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, 15: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, 15:21   #7
Fede
Senior Member
 
L'Avatar di Fede
 
Iscritto dal: Feb 2000
Città: Roma (S.E.) Trattative_concluse: 300+
Messaggi: 15735
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, 15:22   #8
Fede
Senior Member
 
L'Avatar di Fede
 
Iscritto dal: Feb 2000
Città: Roma (S.E.) Trattative_concluse: 300+
Messaggi: 15735
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, 14: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, 14: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, 17: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, 18:31   #12
Fede
Senior Member
 
L'Avatar di Fede
 
Iscritto dal: Feb 2000
Città: Roma (S.E.) Trattative_concluse: 300+
Messaggi: 15735
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, 19: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 30-07-2004, 00: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, 10: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, 10: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, 10: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


Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
La sonda spaziale NASA Voyager 1 tra cir...
La navicella Shenzhou-22 ha effettuato i...
Tre astronauti europei voleranno verso l...
LG UltraGear 37G800A: 37 pollici, 4K e 1...
Stanco dei browser pieni di AI? Orion pe...
GeForce RTX 5000 custom in pericolo? NVI...
Windows Update prende il posto di Micros...
Segnali di crisi per il mercato Smart TV...
Lenovo LEGION e LOQ con NVIDIA GeForce R...
Nuova Fiat 500 ibrida al debutto. Elkann...
Ecco il primo PC da gaming basato su una...
Grok può battere i campioni di Le...
DEEBOT T50 Max Pro Gen2 e X2 Omni ai min...
Autoflight mostra il primo vertiporto ga...
TCL QD-Mini LED e QLED da 65'' crollano ...
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: 03:02.


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