Newsgroup: it.comp.lang.visual-basic
Titolo: [?] accedere base dati senza conoscerla

Ho scritto un programma indirizzato ad una categoria specifica
(Assicurazioni) ma mi hanno posto un problema recuperare i dati che hanno
già. Siccome non ho idea di che sistema usino tutte le agenzie dei diversi
gruppi, credo che conoscerle tutte possa diventare un impresa, vorrei
riuscire a scrivere una procedura che mi permetta di evitare di conoscere il
formato e cosa cotiene il db e le tabelle. Mi date qualche info in proposito
? Esempio se è un formato dbase come riconosco le tabelle e i campi ?  se è
un formato oracle ? se è un sql server ?
Dani e le domande del martedì

[*Dani* : 
ze...@masterweb.it
] ha scritto:

No, rassegnati:
Devi conoscere sia il tipo di database (per la connessione), sia la sua
precisa struttura, almeno per i campi (e relative tabelle) che devi
recuperare.

 devi recuperare.
scusa ma non basterebbe sapere SOLO il tipo di database e connessione?
a connessione avvenuta basterebbe interrogare il database sulla sua
composizione strutturale....
o no?
PaoloS


più o meno, lupo ha detto una cosa giusta,
per usare un database devi conoscere come è fatto,
non ha posto limiti su come vieni a conoscenza della sua struttura,
quindi te la puoi far dire da chi lo ha implementato oppuere puoi
provare a tentativi....
comunque per scrivere un programma funzionante devi conoscere
prima tipo e struttura del db
-- 
bye BlackMagic
ICQ# 85485468

 per usare un database devi conoscere come è fatto,
Il problema è complesso. Abbiamo tutti torto e tutti ragione.
Ha (per la struttura) ragione PaoloS. Una volta connessi, la si può
rilevare.
Ma, ai fini dell'importazione corretta dei dati, se nessuno me lo dice, come
faccio a sapere qual è il campo che corrisponde al, per esempio, codice di
un cliente, pur conoscendo tutte le tabelle e tutti i campi? ;-)


intuizione ;-)
si chiama intuizione ed è quella cosa indispensabile quando ti ritrovi
in queste "simpatiche" situazioni... oppure ti è utile quando chi costruisce
il db genera i nomi dei campi in maniera random


Dani wrote:
Il tuo programma lo devi fare con una base dati che conosci!
Se il tuo programma ha una tabella chiamata "Clienti" e loro usano
"TDUClienti" non funzionerà....
Invece se è di un tipo invece che un altro...a parità di struttura...la
risolvi usando ADO...cambi solo la stringa di connessione
Considera però questo....
se hanno vari db...tu fatti il tuo sw con il DB che ami/conosci di più....
e poi fatti una serie di programmi/moduli che fanno l'import di dati da
altri DB!
Ossia metti tu uno standard...
IL MIO PROG va con MSDE!
se volete (e pagate) legge i dati di access/oracle/Sqlserv/Mysql/etcetc e li
importa...ma per usare il prog si installa in tutti i pc msde!!!
e checazzo se no.... non campi +!
ti ricoverano alla Neuro!
:-)
--
Il Wodkino Nazionale è a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Quotefix e altro:
http://www.martek.it/go.asp?portamia=4
Usr: ICLVB Pw: amici

 No, rassegnati:
In teoria non č impossibile!
Io ho fatto una cosa del genere con i listini dei fornitori, senza nemmeno
sapere se erano TXT, XLS o MDB...
Magia? No faccio impostare dal cliente un "master" con il formato dei campi
che servono/tabelle/... poi prendo quello e
leggo i dati da lě...
ES: invece che "SELECT * FROM AnagArticoli" avrň "SELECT * FROM " &
rs("Questatabellacontieneanagraficaarticoli")
dove il campo lungo 3km č stato inserito dall'utente...
Certo č che un utente medio NON sa come sia strutturato il DB quindi mi sa
che Lupo tiene ragione!
Alex

 :-)
cioe' io ho appena comprato sqlserver, ti chiedo un prg che usa dati miei
con strutture definite da me e tu mi installi msde ?
a.

 a.
a che ti servo io se hai già fatto tutto da te?
se devo leggere i tuoi archivi li leggo!
Ma non li tocco!
so na sega chi ci ha messo le mani!
per esperienza...il lavoro di altri non lo tocco...son solo casini!
ti faccio importare i TUOI archivi nei miei...ma i TUOI non li tocco!


il discorso di Wodka (not 4you anymore??) e' molto valido anche per un altro
aspetto da non dimenticare che e' quello legale...
MS, nella pagina "Appropriate uses of MSDE"
(
http://www.microsoft.com/sql/msde/howtobuy/msdeuse.asp
) indica chiaramente
che la mia applicazione non puo' utilizzare un'istallazione di MSDE
effettuata da altro produttore di software...
putroppo questo portera' ad avere molte istanze nominate per server MSDE,
tra le quali anche quelle degli antivirus, con un appesantimanto dei
server..
chiaro che se l'utente provvede all'acquisto di SQL Server personalmente,
allora tali limitazioni cadono, ed a meno di motivazioni puremente tecniche
dipendenti da sort order e collation particolari ovvero da policies di
amministrazione estremamente severe, personalmente non condivido molto
installare altre istanze che comunque appesantiscono il server...
chiaramente my $0.02
saluti
Andrea Montanari
montanar...@virgilio.it
http://www.asql.biz/DbaMgr.shtm
DbaMgr2k ver 0.4.0  -  DbaMgr ver 0.50.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply

 --------- remove DMO to reply
andrea, facevo appunto una domanda ben precisa, relativa a un sw particolare
(ma potrebbe essere anche oracle, o altro):
ho preso sqlserver (quello nominavo) anche per avere un db serio che regga
vari utenti.
se chiedo un prg che lavori con quelle basi, secondo una logica che ho
definito io (in sostanza: dando fuori quello che so di non avere il tempo di
seguire personalmente), mi augurerei che che non mi installasse alcunche',
specialmente se e' una versione limitata di quello che gia' ho. preferirei
un "no, grazie".
ciao, a.

 ciao, a.
ciao! :-)
Saluti a Java! Miao!
--
Il Wodkino Nazionale č a : 
www.martek.it


 :-D
lo sapevo che sotto sotto si agita il radicale che e' in te :P

 un "no, grazie".
in questi termini il produttore deve installarti solo il software e non il
RDBMS....


 RDBMS....
era esattamente la domanda che facevo...