public override bool CreateDatabase(BaseLoginInfo loginInfo) { bool ret = false; LoginInfo_SqlServer info = loginInfo as LoginInfo_SqlServer; try { string cmdStr = string.Format("Create Database {0} on (NAME={1},FILENAME='{2}',SIZE={3}MB,FILEGROWTH={4}MB) log on (NAME={0},FILENAME='{5}',SIZE={3}MB,FILEGROWTH={4}MB)", info.CreateDatabaseObject.DbName, info.CreateDatabaseObject.DbName + "xxssyy", info.CreateDatabaseObject.DbLocation, info.CreateDatabaseObject.InitSize, info.CreateDatabaseObject.FileGrowth, info.CreateDatabaseObject.DbLogFileLocation); DbCommand cmd = GetNewStringCommand(cmdStr); Debug.WriteLine("Create database sql \r\n" + cmdStr); cmd.ExecuteNonQuery(); ret = true; } catch (Exception ee) { throw ee; } return(ret); }
private void butGetTableList_Click(object sender, RoutedEventArgs e) { WPFCommonControl.SqlServerLoginControl.X_CollectionData controlResult = sqlServerLoginControl1.X_Result; string server = controlResult.Server; string database = controlResult.DbName; string username = controlResult.UID; string pwd = controlResult.PWD; if (string.IsNullOrEmpty(server) || string.IsNullOrEmpty(database) || string.IsNullOrEmpty(username)) { MessageBox.Show("ImportEachElement".GetFromResourece()); return; } //This core will be used later , do not dispose it core = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.SqlServer).X_Handler; LoginInfo_SqlServer info = new LoginInfo_SqlServer() { X_Server = controlResult.Server, X_UserName = controlResult.UID, X_Pwd = controlResult.PWD, X_Port = sqlServerLoginControl1.X_Result.Port.ToString(), IsTrustedConn = sqlServerLoginControl1.X_Result.IsTrust, X_CurDbConnectionMode = sqlServerLoginControl1.X_Result.CurType.CurConnMode, }; try { core.Open(info); if (core.IsOpened) { this.tableList.Items.Clear(); foreach (string item in core.GetTableListInDatabase(database)) { tableList.Items.Add(item); } } } catch (Exception ee) { ee.HandleMyException(); } finally { } }
private void button3_Click(object sender, RoutedEventArgs e) { string server = txtServername.Text; string database = this.txtDbName.Text; string username = this.txtUsername.Text; string pwd = passwordBox1.Password; bool isTrustedConn = (bool)chkIsTrustedConn.IsChecked; bool isSql05Express = (bool)chkIsSql05Expresss.IsChecked; if (string.IsNullOrEmpty(server) || string.IsNullOrEmpty(database) || string.IsNullOrEmpty(username)) { "ImportEachElement".GetFromResourece().Notify(); return; } CoreEA.ICoreEAHander core = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.SqlServer).X_Handler; LoginInfo_SqlServer info = new LoginInfo_SqlServer() { X_Server = server, X_Database = database, X_UserName = username, X_Pwd = pwd, IsTrustedConn = (bool)chkIsTrustedConn.IsChecked, }; if (isSql05Express) { info.X_CurDbConnectionMode = CurDbServerConnMode.SqlServer2005Express; } try { core.Open(info); if (core.IsOpened) { SrcTableList tableUI = new SrcTableList(core); tableUI.ShowDialog(); } } catch (Exception ee) { XLCS.Common.ProcessException.DisplayErrors(ee); } }
void CreateCmd_Executed(object sender, ExecutedRoutedEventArgs e) { try { App.MainEngineer = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.SqlServer).X_Handler; LoginInfo_SqlServer info = new LoginInfo_SqlServer() { X_Server = Args.Server, X_Database = Args.DbName, X_Pwd = Args.PWD, X_UserName = Args.UID, X_Port = Args.Port.ToString(), X_CurDbConnectionMode = Args.CurType.CurConnMode, IsTrustedConn = Args.IsTrust, }; App.MainEngineer.Open(info); if (App.MainEngineer.IsOpened) { //populate this object to create database ,not open database LoginInfo_SqlServer info2 = new LoginInfo_SqlServer(); info2.CreateDatabaseObject = new CoreEA.InfrastructureInfo.BaseCreateDbObject() { DbLocation = txtDbLocation.Text, DbLogFileLocation = txtDbLogLocation.Text, DbName = txtDbName.Text, InitSize = (uint)txtSize.Value, FileGrowth = (uint)txtGrowth.Value, }; if (App.MainEngineer.CreateDatabase(info2)) { "CreateDatabaseOkMsg".GetFromResourece().Show(); } } } catch (Exception ee) { ee.HandleMyException(); } finally { App.ResetMainEngineer(); } }
/// <summary> /// /// When to use trust connection string (Connect to online ) /// When to ues not trust connection string (Connect to remote or local) /// /// </summary> /// <param name="pInfo"></param> public sealed override void Open(BaseLoginInfo pInfo) { //Record to base class (Vital) baseLoginInfo = pInfo; LoginInfo_SqlServer myInfo = pInfo as LoginInfo_SqlServer; LoginInfo_ForAllDbTypes allInfo = pInfo as LoginInfo_ForAllDbTypes; if ((myInfo == null) && (allInfo == null)) { throw new ArgumentException("Only Support Sqlserver login info and AllDBTypes Info"); } if (IsOpened) { return; } string myConnString = string.Empty; if (allInfo != null) { myInfo = new LoginInfo_SqlServer(); myInfo.IsTrustedConn = allInfo.IsTrustedConn; myInfo.X_Database = allInfo.Database; myInfo.X_Pwd = allInfo.Pwd; myInfo.X_Server = allInfo.Server; myInfo.X_TableName = allInfo.TableName; myInfo.X_UserName = allInfo.Username; myInfo.X_CurDbConnectionMode = allInfo.CurConnMode; myInfo.AttchFile = allInfo.AttachedFileName; } if (myInfo.IsTrustedConn) { switch (myInfo.X_CurDbConnectionMode) { case CurDbServerConnMode.Local: myConnString = DbConnectionString.Sqlserver.GetConnectionString(myInfo.X_Server, myInfo.X_UserName, myInfo.X_Pwd, myInfo.X_Database); break; case CurDbServerConnMode.Standard: myConnString = DbConnectionString.Sqlserver.Standard_WithTrustOrNot(myInfo.X_Server, myInfo.X_Database, myInfo.X_UserName, myInfo.X_Pwd, true); break; case CurDbServerConnMode.SqlServer2005Express: myConnString = DbConnectionString.Sqlserver.GetSqlServerExpressCS(myInfo.X_Server, myInfo.X_Database, myInfo.X_UserName, myInfo.X_Pwd, myInfo.IsTrustedConn); break; case CurDbServerConnMode.SqlServer2000: myConnString = DbConnectionString.Sqlserver.SqlServerConnectionString(myInfo.X_Server, myInfo.X_UserName, myInfo.X_Pwd, myInfo.X_Database); break; case CurDbServerConnMode.OleDb: myConnString = DbConnectionString.Sqlserver.GetOledbConnectionString_Trust(myInfo.X_Server, myInfo.X_UserName, myInfo.X_Pwd, myInfo.X_Database); break; case CurDbServerConnMode.AttachFile: // myConnString = DbConnectionString.Sqlserver.AttachFile(myInfo.X_Server, myInfo.AttchFile); myConnString = DbConnectionString.Sqlserver.AttachFileEx(myInfo.X_Server, myInfo.AttchFile); break; case CurDbServerConnMode.SqlServer2008Express: myConnString = DbConnectionString.Sqlserver.GetSqlServer2008_Trust(myInfo.X_Server, myInfo.X_Database); break; case CurDbServerConnMode.SqlServer2005: myConnString = DbConnectionString.Sqlserver.Connection_Mars(myInfo.X_Server, myInfo.X_Database); break; } } else { switch (myInfo.X_CurDbConnectionMode) { case CurDbServerConnMode.OleDb: myConnString = DbConnectionString.Sqlserver.GetOledbConnectionString_NoTrust(myInfo.X_Server, myInfo.X_UserName, myInfo.X_Pwd, myInfo.X_Database); break; case CurDbServerConnMode.Local: myConnString = DbConnectionString.Sqlserver.GetConnectionString(myInfo.X_Server, myInfo.X_UserName, myInfo.X_Pwd, myInfo.X_Database); break; case CurDbServerConnMode.Standard: myConnString = DbConnectionString.Sqlserver.Standard_WithTrustOrNot(myInfo.X_Server, myInfo.X_Database, myInfo.X_UserName, myInfo.X_Pwd, false); break; case CurDbServerConnMode.SqlServer2000: myConnString = DbConnectionString.Sqlserver.SqlServerConnectionString(myInfo.X_Server, myInfo.X_UserName, myInfo.X_Pwd, myInfo.X_Database); break; case CurDbServerConnMode.SqlServer2005Express: myConnString = DbConnectionString.Sqlserver.GetSqlServerExpressCS(myInfo.X_Server, myInfo.X_Database, myInfo.X_UserName, myInfo.X_Pwd, myInfo.IsTrustedConn); break; case CurDbServerConnMode.AttachFile: throw new Exception("Attach File mode need TrustConnection"); case CurDbServerConnMode.SqlServer2008Express: myConnString = DbConnectionString.Sqlserver.GetSqlServer2008_StandardSecurity( myInfo.X_Server, myInfo.X_Database, myInfo.X_UserName, myInfo.X_Pwd ); break; case CurDbServerConnMode.SqlServer2005: myConnString = DbConnectionString.Sqlserver.Connection_Mars_NoTrust( myInfo.X_Server, myInfo.X_Database, myInfo.X_UserName, myInfo.X_Pwd); break; } } try { baseConn = new SqlConnection(myConnString); baseConn.Open(); CurDatabase = myInfo.X_Database; CurPwd = myInfo.X_Pwd; invalidator = new InvalidatorForSqlServer(); } catch (DataException ee) { throw ee; } }
private void butSync_Click(object sender, RoutedEventArgs e) { string server = txtServername.Text; string targetDb = this.txtDbName.Text; string username = this.txtUsername.Text; string pwd = passwordBox1.Password; bool isTrustedConn = (bool)chkIsTrustedConn.IsChecked; bool isSql05Express = (bool)chkIsSql05Expresss.IsChecked; if (string.IsNullOrEmpty(server) || string.IsNullOrEmpty(targetDb) || string.IsNullOrEmpty(username)) { "ImportEachElement".GetFromResourece().Notify(); return; } ICoreEAHander targetCore = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.SqlServer).X_Handler; LoginInfo_SqlServer info = new LoginInfo_SqlServer() { X_Server = server, X_Database = targetDb, X_UserName = username, X_Pwd = pwd , IsTrustedConn = (bool)chkIsTrustedConn.IsChecked }; if (isSql05Express) { info.X_CurDbConnectionMode = CurDbServerConnMode.SqlServer2005Express; } try { targetCore.Open(info); SqlBulkCopy cp = new SqlBulkCopy((SqlConnection)targetCore.GetConnection()); foreach (string item in tableList) { if (targetCore.GetTableListInDatabase(targetDb).Contains(item)) { cp.DestinationTableName = item; DataRowCollection coll = srcCore.GetAllDataFromTable(item).Rows; DataRow[] rows = new DataRow[coll.Count]; int i = 0; foreach (DataRow subRow in coll) { rows[i] = subRow; } cp.WriteToServer(rows); "Complete".Notify(); } else { //Create New Table and do . } } } catch (Exception ee) { ee.HandleMyException(); } }
private void butGetDbList_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(cmbServername.Text)) { cmbServername.Focus(); return; } if (string.IsNullOrEmpty(txtUsername.Text)) { txtUsername.Focus(); return; } CoreEA.ICoreEAHander core = null; switch (X_CurUIMode) { case CurUIMode.ForSqlServer: core = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.SqlServer).X_Handler; break; case CurUIMode.ForMySql: core = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.MySql).X_Handler; break; } LoginInfo_SqlServer info = new LoginInfo_SqlServer(); X_LoginDbParas args = cmbConnMode.SelectedItem as X_LoginDbParas; if (args.Name == ATTACH_FILE) { info = new LoginInfo_SqlServer() { X_Server = cmbServername.Text, AttchFile = txtDbFileLocation.Text, //attach file mode need trust connection IsTrustedConn = true, }; } else { info = new LoginInfo_SqlServer() { X_Server = cmbServername.Text, X_UserName = txtUsername.Text, X_Pwd = passwordBox1.Password, IsTrustedConn = (bool)chkIsTrustedConn.IsChecked, }; } if (cmbConnMode.SelectedItem != null) { info.X_CurDbConnectionMode = ((X_LoginDbParas)cmbConnMode.SelectedItem).CurConnMode; } try { core.Open(info); } catch (Exception ee) { MessageBox.Show(ee.Message); return; } if (core.IsOpened) { cmbDbName.Items.Clear(); foreach (var item in core.GetDatabaseList()) { cmbDbName.Items.Add(item); } if (cmbDbName.Items.Count > 1) { cmbDbName.SelectedIndex = 0; } core.Close(); core.Dispose(); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void butBackupDb_Click(object sender, RoutedEventArgs e) { WPFCommonControl.SqlServerLoginControl.X_CollectionData controlResult = this.sqlServerLoginControl1.X_Result; if (string.IsNullOrEmpty(controlResult.Server) || string.IsNullOrEmpty(controlResult.DbName) || string.IsNullOrEmpty(controlResult.UID)) { "ImportEachElement".GetFromResourece().Notify(); return; } App.MainEngineer = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.SqlServer).X_Handler; LoginInfo_SqlServer info = new LoginInfo_SqlServer() { X_Server = controlResult.Server, X_Database = controlResult.DbName, X_Pwd = controlResult.PWD, X_UserName = controlResult.UID, X_Port = controlResult.Port.ToString(), X_CurDbConnectionMode = controlResult.CurType.CurConnMode, IsTrustedConn = controlResult.IsTrust, }; PageSwitchProgressBar dp = null; try { App.MainEngineer.Open(info); if (App.MainEngineer.IsOpened) { if (!"InfoBackupDb".GetFromResourece().Confirm()) { return; } SaveFileDialog sf = new SaveFileDialog(); sf.Filter = MyGlobal.BackupDatabase_FILE_FILTER; if ((bool)sf.ShowDialog()) { string cmdStr = string.Format("BACKUP DATABASE {0} TO DISK = N'{1}' WITH NOFORMAT, NOINIT,NAME = N'{2}', SKIP, NOREWIND, NOUNLOAD, STATS = 10", App.MainEngineer.CurDatabase, sf.FileName, "BackupDataFile"); IDbCommand cmd = App.MainEngineer.GetNewStringCommand(cmdStr); cmd.CommandTimeout = int.MaxValue / 2; dp = PageSwitchProgressBar.X_BeginLoadingDialog(); cmd.ExecuteNonQuery(); dp.X_EndLoadingDialog(); dp = null; "InfoBackupSuccesful".GetFromResourece().Show(); } } } catch (Exception ee) { ee.HandleMyException(); } finally { if (null != dp) { dp.X_EndLoadingDialog(); } App.ResetMainEngineer(); } }
private void LoginInSqlServer(WPFCommonControl.SqlServerLoginControl.X_CollectionData controlResult) { try { App.MainEngineer = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.SqlServer).X_Handler; } catch (Exception ee) { MessageBox.Show(ee.Message); return; } LoginInfo_SqlServer info = new LoginInfo_SqlServer() { X_Server = controlResult.Server, X_Database = controlResult.DbName, X_Pwd = controlResult.PWD, X_UserName = controlResult.UID, X_Port = controlResult.Port.ToString(), X_CurDbConnectionMode = controlResult.CurType.CurConnMode, IsTrustedConn = controlResult.IsTrust, AttchFile = controlResult.DbFileLocation, }; try { App.MainEngineer.Open(info); if (App.MainEngineer.IsOpened) { #region Save to Opened History Info SqlServerObjects sqlserverItem = new SqlServerObjects(); sqlserverItem.ServerAddress = info.X_Server; if (info.X_Port.IsNotEmpty()) { sqlserverItem.Port = int.Parse(info.X_Port); } sqlserverItem.Username = info.X_UserName; if (!SerializeClass.DatabaseHistoryInfo.SqlServerHistory.IsContainSubValue(sqlserverItem.ServerAddress)) { HistoryObject oldObject = SerializeClass.DatabaseHistoryInfo; oldObject.SqlServerHistory.Add(sqlserverItem); SerializeClass.DatabaseHistoryInfo = oldObject; } #endregion App.MainEngineer.CurDatabase = controlResult.DbName; RibbionIDE ide = new RibbionIDE(); //this.Visibility = Visibility.Hidden; //ide.Closed += (a, b) => { this.Visibility = Visibility.Visible; }; ide.Title = info.X_Server; ide.ShowDialog(); } } catch (Exception ee) { App.ResetMainEngineer(); ee.HandleMyException(); } }