Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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
            {
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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();
            }
        }
Ejemplo n.º 5
0
        /// <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;
            }
        }
Ejemplo n.º 6
0
        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();
            }
        }
Ejemplo n.º 7
0
        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();
            }
        }
Ejemplo n.º 8
0
        /// <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();
            }
        }
Ejemplo n.º 9
0
        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();
            }
        }