From DataSet Win to MySQL LINUX | Progettazione di DataBase Relazionali

Topic: Pubblico - Composto da 2 Posts di 2 Utenti.

21 Settembre, 2011 21:16 #1
fox1969
Utente

fox1969
Registrato: Sep, 2011
Posts: 2
Offline

Buongiorno a tutti, prima di tutto mi scuso se questa domanda è già stata fatta...in quanto non riesco a trovare la funzione "cerca".

Ho su HD un grosso DataSet (composto da varie DataTable) su cui lavoro in Visual C#, senza server, senza connessioni MySQL ma operando direttamente sulle varie Tables e poi salvando tutto il DataSet a fine lavoro, su un file XML nell' Hard Disk.

Da un po' di tempo sono passato a Linux (Ubuntu) e ho deciso di migliorare il mio sistema di lavoro operando su un vero e proprio server che inizialmente terrò sulla mia macchina per imparare ed in seguito vedrò se passare all' hosting altrove.
Ora vorrei prendere il mio tabellone (DataSet) che ho già copiato e incollato nella directory Documenti di Ubuntu e trasferirlo in vere e proprie tabelle MySQL.
Come fare? Esiste un metodo indolore per fare questa "conversione"? Grazie.


Mi querida Cuba:1 Noviembre / 17 Diciembre en Varadero

22 Settembre, 2011 17:31 #2
fuser
Utente

fuser
Registrato: Aug, 2011
Posts: 86
Offline

Se puoi passare alla versione 5.5, che non è ancora stabile, avrai una bellissima funzione LOAD XML. Tieni però presente che funziona solo se c'è una corrispondenza semplice tra l'albero XML e la tabella: dev'esserci un tag che rappresenta i record, che contiene i tag che rappresentano le tabelle.

Se la struttura è più complessa o se non puoi passare alla 5.5, io al tuo posto userei XSLT per trasformare l'XML in una serie di INSERT, che poi eseguirai passandolo in input a mysqld.

Se non conosci XSLT ma conosci XPath, puoi usare la soluzione più complicata che mi viene in mente: prima importare tutto l'albero XML in una tabella con un solo campo, così com'è. Poi puoi fare una bella Stored Procedure per estrarre i singoli valori e immetterli in un'altra tabella (MySQL supporta XPath).

Condividi su:

Loggati o Registrati per replicare