VB.NET e query su 2 database

domenica 20 luglio 2008 - 13.21

frungillo Profilo | Newbie

Salve a tutti e complimenti per il forum che è spettacolare....
Ho un problema che mi affligge,immaginiamo per esempio che io ho due database access che si chiamano uno NOMI.mdb con una TABELLA NOMINATIVI e 3 CAMPI 'IDNOME', 'NOME' e 'COGNOME' e un l'altro che si chiama INDIRIZZI.mdb con una tabella INDIRIZZO con 3 campi 'IDNOME', 'INDIRIZZO', e 'CITTA'; ora vorrei che nella mia form io scrivo il nome e cognome e mi tira giu nella datagrid il suo indirizzo e citta; in pratica se io ho 2 database in due file completamente diversi ma, per qualche ragione a noi oscura, sono collegati tra loro come in questo caso, come eseguo la query in VB.net?

Premetto che uso VB.net Express edition.

Grazie

Dainesi Profilo | Senior Member

Per estrarre i dati io "allegherei" le tabelle di un database nell'altro (o in alternativa creerei un terzo database fatto di tabelle allegate) e quindi su questo eseguo le operazioni di interrogazione.

Detto questo sappi che in un dataset puoi importare i dati in varie datatable e poi, disconnesso dalle origini, interrogare i contenuti.

alexmed Profilo | Guru

Ciao frungillo,
Come dice Dainesi, non credo sia possibile interagire tra due database simultaneamente, stà di fatto che quando crei una connessione punti sempre ad un solo Db.
Quindi prima dovresti fare in modo che le tabelle siano sullo stesso DB.
Secondo me dovresti cmq porre la questione nella stanza relativa a SQL
http://www.dotnethell.it/forum/SQL-Server-MySQL-Access.aspx
Li sicuramente c'è qlc che saprà dirti come fare.

Ciao

gabriel81 Profilo | Junior Member

Io allegherei le tabelle in un unico db e fare una query da usare come vista

mark81 Profilo | Newbie

Ciao, le soluzioni che ti hanno già proposto sono le migliori secondo me. Ma se proprio devi mantenere 2 database, puoi fare una query semplice sul primo che ti restituisce il valore del campo IDNOME associato alla ricerca che tu fai, associarlo poi ad una variabile e successivamente fai una seconda query al secondo database che ti restituisce il valore dei campi che ti servono. Ma ti ripeto, la soluzione migliore secondo me è quella di unire i due database.
Ciao

frungillo Profilo | Newbie

Grazie ad alexmed, e comunque a tutti voi che avete avuto la disponibilita di interessarvi, credo che la soluzione migliore sia prorpio quella di unire i due DB......

Dainesi Profilo | Senior Member

Non devi per forza unire i due DB !!! La soluzione che ti ho prospettato utilizza un terzo DB che non contiene dati ma solo i link alle tabelle che ti interessano presenti su fonti eterogenee. Pensa che con questo metodo puoi combinare in una sola query dati provenienti da Access, DB2 su AS/400, Oracle e SQL Server (per dirne alcuni ...) senza bisogno di conoscere il rispettivo dialetto SQL !!!!

Lascia separati i due DB (sopratutto se non li hai fatti tu ...) e creati il tuo file mdb contenente i link!

tigre Profilo | Junior Member

ho lo stesso problema,
vorrei fare una query su due tabelle esistenti su due database.
esempio
tabella A
Codice

tabella B
Codice
Valore

risultato
Tabella A
Codice valore
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5