public string getMysqlDump(MysqlHandler connection, string sourceTable) { bool disconnecting = false; if (!connection.isConnected()) { disconnecting = true; connection.connect(); } string ResultStr = connection.getTableCreationString(sourceTable); ResultStr += "\n\n"; List <string> SqlArr = getSqlDumpRows(connection, sourceTable); for (int i = 0; i < SqlArr.Count; i++) { ResultStr += SqlArr[i]; } if (disconnecting) { connection.disConnect(); } return(ResultStr); }
public bool copyCreationTable(MysqlHandler connection, string sourceTable, MysqlHandler targetConnection) { bool disconnecting = false; bool targetDisconnecting = false; if (!connection.isConnected()) { disconnecting = true; connection.connect(); } if (!targetConnection.isConnected()) { targetDisconnecting = true; targetConnection.connect(); } string createSql = connection.getTableCreationString(sourceTable); if (createSql != "") { targetConnection.sql_update(createSql); } if (disconnecting) { connection.disConnect(); } if (targetDisconnecting) { targetConnection.disConnect(); } targetConnection.resetTableList(); return(targetConnection.tableExists(sourceTable)); }
public List <String> getCopyTableStatements(MysqlHandler connection, string sourceTable, MysqlHandler targetConnection) { bool disconnecting = false; bool targetDisconnecting = false; List <String> querys = new List <string>(); if (!connection.isConnected()) { disconnecting = true; connection.connect(); } if (!targetConnection.isConnected()) { targetDisconnecting = true; targetConnection.connect(); } targetConnection.lastSqlErrorMessage = ""; querys.Add("DROP TABLE IF EXISTS " + sourceTable); querys.Add(connection.getTableCreationString(sourceTable)); copyRowLimit = 500; Int64 writes = 0; Int64 start = 0; writes = getCopyStatements(connection, sourceTable, start, targetConnection, querys, useMassInsertQuerys); start = writes; while (writes != 0) { if (showProgress) { msg.msg.Text = "Block ...." + start + " @ " + sourceTable; msg.Refresh(); } writes = getCopyStatements(connection, sourceTable, start, targetConnection, querys, useMassInsertQuerys); start += writes; } copyRowLimit = 10000; if (disconnecting) { connection.disConnect(); } if (targetDisconnecting) { targetConnection.disConnect(); } return(querys); }
public void copyTable(MysqlHandler connection, string sourceTable, MysqlHandler targetConnection) { bool disconnecting = false; bool targetDisconnecting = false; if (!connection.isConnected()) { disconnecting = true; connection.connect(); } if (!targetConnection.isConnected()) { targetDisconnecting = true; targetConnection.connect(); } targetConnection.lastSqlErrorMessage = ""; if (!targetConnection.tableExists(sourceTable)) { string createSql = connection.getTableCreationString(sourceTable); targetConnection.sql_update(createSql); if (targetConnection.lastSqlErrorMessage.Length > 0) { MessageBox.Show(createSql + "\n\n" + targetConnection.lastSqlErrorMessage); targetConnection.lastSqlErrorMessage = ""; } else { copyRows(connection, sourceTable, targetConnection); } } if (disconnecting) { connection.disConnect(); } if (targetDisconnecting) { targetConnection.disConnect(); } targetConnection.resetTableList(); }
public String alterTableFromSource(MysqlHandler connection, string sourceTable, MysqlHandler targetConnection, Boolean addOnly) { bool disconnecting = false; bool targetDisconnecting = false; if (!connection.isConnected()) { disconnecting = true; connection.connect(); } if (!targetConnection.isConnected()) { targetDisconnecting = true; targetConnection.connect(); } string createSql = connection.getTableCreationString(sourceTable); List <MysqlStruct> sourceStruct = connection.getAllFieldsStruct(sourceTable); List <MysqlStruct> targetStruct = targetConnection.getAllFieldsStruct(sourceTable); String alterSql = getAlterTableSql(sourceStruct, targetStruct, addOnly); if (alterSql.Length > 0) { alterSql = "ALTER TABLE `" + sourceTable + "` " + alterSql; } if (disconnecting) { connection.disConnect(); } if (targetDisconnecting) { targetConnection.disConnect(); } targetConnection.resetTableList(); return(alterSql); }