| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 
 | 
import java.io.File;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class DBSyncTools {
	private Connection conn;
	private Document doc;
	public DBSyncTools(String driverName, String serverName,
			String dataBaseName, String userName, String passWord)
			throws ClassNotFoundException, SQLException,
			ParserConfigurationException {
		conn = ConnectionFactoryImpl.createConnection(serverName, dataBaseName,
				userName, passWord, driverName);
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		DocumentBuilder builder = factory.newDocumentBuilder();
		doc = builder.newDocument();
	}
	public Document save() throws SQLException, ParserConfigurationException {
		try {
			Statement stmt;
			ResultSet rs;
			ResultSetMetaData rsmd;
			int colCount = 0;
			DatabaseMetaData dbmd = conn.getMetaData();
			String[] types = { "TABLE" };
			ResultSet resultSet = dbmd.getTables(null, null, "%", types);
			Element db = doc.createElement("DB");
			doc.appendChild(db);
			while (resultSet.next()) {
				String tableName = resultSet.getString(3);
				System.out.println(tableName);
				// Table
				Element tab = doc.createElement("Table");
				tab.setAttribute("name", tableName);
				db.appendChild(tab);
				stmt = conn.createStatement();
				rs = stmt.executeQuery("select * from " + tableName);
				rsmd = rs.getMetaData();
				colCount = rsmd.getColumnCount();
				int countRows = 0;
				while (rs.next()) {
					Element row = doc.createElement("Row");
					tab.appendChild(row);
					
					for (int i = 1; i <= colCount; i++)
					{
						String columnName = rsmd.getColumnName(i);
						Object value = rs.getObject(i);
						Element node = doc.createElement(columnName);
						node.appendChild(doc.createTextNode(value.toString()));
						row.appendChild(node);
						System.out.println(columnName);
					}
					countRows++;
					System.out.println("Ligne: "+countRows);
				}
				System.out.println("Somme des lignes: "+countRows);
				rs.close();
				stmt.close();
			}
			resultSet.close();
			// writeXmlFile(doc,"data.xml");
		} catch (SQLException e) {
		}
		System.out.println(doc);
		return doc;
	}
	/*
	 * private void writeXmlFile(Document doc, String filename) { try { Source
	 * source = new DOMSource(doc); File file = new File(filename); Result
	 * result = new StreamResult(file); Transformer xformer =
	 * TransformerFactory.newInstance() .newTransformer();
	 * xformer.transform(source, result); } catch
	 * (TransformerConfigurationException e) { } catch (TransformerException e)
	 * { } }
	 */
	public static void main(String args[]) {
		try {
			DBSyncTools myDB = new DBSyncTools("MySql", "localhost", "prorion",
					"root", "root");
			myDB.save();
		} catch (ClassNotFoundException e) {
			System.out.println(e.getMessage());
		} catch (SQLException e) {
			System.out.println(e.getMessage());
		} catch (ParserConfigurationException e) {
			System.out.println(e.getMessage());
		}
	}
} | 
Partager