Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Trasferire Dati da una tabella ad un altra tra due database diversi my...
martedì 18 settembre 2012 - 21.24
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 3.5
|
Visual Studio 2008
|
MySQL 5.5
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
mar 18 set 2012 - 21:24
Ciao al forum,
ho la necessità di costruire una procedura per trasferire una grossa quantità di dati da una tabella di un database mysql che comprende circa 60 campi, a più tabelle circa 7 cioè ho spezzato la tabella che contiene i 60 campi un 7 tabelle quindi con la selezione in 2 listview vorrei trasferire i dati selezionando i campi che mi interessano dalla tabella grande alle tabelle più piccole.
Chiedo un aiuto grazie
Mau67
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 20 set 2012 - 11:35
>Ciao al forum,
Ciao
>ho la necessità di costruire una procedura per trasferire una
>grossa quantità di dati da una tabella di un database mysql che
>comprende circa 60 campi, a più tabelle circa 7 cioè ho spezzato
>la tabella che contiene i 60 campi un 7 tabelle quindi con la
>selezione in 2 listview vorrei trasferire i dati selezionando
>i campi che mi interessano dalla tabella grande alle tabelle
>più piccole.
puoi spiegare un po' meglio? tabella di 60 campi mysql, splittata in 7 tabelle.. dove stanno?
E poi? Non ho capito che ci vuoi fare..
>Chiedo un aiuto grazie
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
gio 20 set 2012 - 16:41
Praticamente i database sono 2 devo trasferire i dati presenti nel database 1 al database 2.
Nel database 1 c'è una tabella con 60 campi, quindi nel database 2 quella tabella lo divisa in altre 7 tabelle e dovrei trasferire i dati della tabella grossa del database 1 nelle 7 tabelle del database 2 seleziono i campi che mi interessano e trasferisco i dati.
Mau67
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 20 set 2012 - 16:53
>Praticamente i database sono 2 devo trasferire i dati presenti
>nel database 1 al database 2.
>Nel database 1 c'è una tabella con 60 campi, quindi nel database
>2 quella tabella lo divisa in altre 7 tabelle e dovrei trasferire
>i dati della tabella grossa del database 1 nelle 7 tabelle del
>database 2 seleziono i campi che mi interessano e trasferisco
>i dati.
Bisognerebbe capire quali tool ti fornisce mysql.
da mysql a mysql, credo che tu possa farlo con una query diretta.. tra un db e l'altro.
Indicando anche il nome dei db nella query.
Se sono su server diversi devi vedere se poi puoi fare qualcosa di equivalente ad un "linked server" di sql..
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
gio 20 set 2012 - 20:31
i database sono nello stesso server come faccio la query diretta?
Mau67
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 20 set 2012 - 20:40
>i database sono nello stesso server come faccio la query diretta?
Prova, come ti dicevo, ad usare il nome completo (che per mysql dovrebbe essere SELECT * FROM nomedb.nometabella se non ricordo male).
secondo me poi puoi fare semplici INSERT SELECT, devi provare.. in sql non avrei problemi a fare una cosa tipo:
INSERT INTO T1 (campi)
SELECT campi FROM DB_2.Schema.T2
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
gio 20 set 2012 - 20:54
DB_2.Schema.T2 DB_2 (altro Database) Schema (cosè) T2 (cosè)
grazie
Mau67
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
gio 20 set 2012 - 21:11
1761_errore Query.zip
Ho fatto così:
SQL = "INSERT INTO " & ListView2.CheckedItems(0).Text & " (" & TextBox2.Text & ")" & _
"SELECT (" & TextBox1.Text & ") FROM " & ListView1.CheckedItems(0).Text & ""
le listview prendono il nome delle tabelle e le textbox il nome dei campi
lancio il debug e visualizzo in un msgbox la query e sembra corretta poi continuo il debug e mi restituisce l'errore che trove il nome della tabella dove inserisco i dati con doppio nome cosi Videoterminali.videotreminali ma nella query non lo fà vedere non capisco
Questo è tutto il codice
Private Sub Trasferisci()
Dim conn As New MySqlConnection("host=" & m_ParametroHost & ";" & _
"username=" & m_ParametroUserName & ";" & _
"password=" & m_ParametroPassword & ";" & _
"database=" & ListView2.CheckedItems(0).Text & ";" & _
"port=3306")
conn.Open()
Dim myCommand As New MySqlCommand 'dichiaro il comando
Dim myReader As MySqlDataReader 'dichiaro il datareader
Dim SQL As String 'dichiaro la stringa sql
'creo la Query
SQL = "INSERT INTO " & ListView2.CheckedItems(0).Text & " (" & TextBox2.Text & ")" & _
"SELECT (" & TextBox1.Text & ") FROM " & ListView1.CheckedItems(0).Text & ""
Try
myCommand.Connection = conn 'indico la connessione al comando
myCommand.CommandText = SQL 'assegno la stringa sql
myReader = myCommand.ExecuteReader 'assegno l'esecuzione al reader
While myReader.Read 'il reader cicla i risultati della query
'CICLO DEI RISULTATI DELLA QUERY
End While
Catch myerror As MySqlException
MsgBox("Errore nella lettura dei dati dal database: " & myerror.Message)
End Try
conn.Close()
' End If
'Next
End Sub
allego file
Mau67
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 21 set 2012 - 10:09
>Ho fatto così:
>le listview prendono il nome delle tabelle e le textbox il nome
>dei campi
>lancio il debug e visualizzo in un msgbox la query e sembra corretta
>poi continuo il debug e mi restituisce l'errore che trove il
>nome della tabella dove inserisco i dati con doppio nome cosi
>Videoterminali.videotreminali ma nella query non lo fà vedere
>non capisco
In quello che componi non c'è il nome del database nella tabella che devi gestire (o insert o select), è normale?
Perchè poi invece l'errore sembra che controlli proprio su un altro db..
Vedi se questo ti può aiutarti:
http://stackoverflow.com/questions/338251/how-do-i-enable-cross-database-joins-in-mysql
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Torna su
Stanze Forum
Elenco Threads
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 !