Пример #1
0
        private void hsCreateDatabase_Click(object sender, EventArgs e)
        {
            var  fi = new FileInfo(txtCreateDatabaseLocationFile.Text);
            bool ok = false;

            if (fi.Exists)
            {
                object[] param = { $@"{txtServer.Text}:{txtCreateDatabaseLocationFile.Text}", Environment.NewLine };
                if (SEMessageBox.ShowMDIDialog(FbXpertMainForm.Instance(), "DatabaseExistsCaption", "OverrideExistingDatabase", SEMessageBoxButtons.NoYes, SEMessageBoxIcon.Asterisk, null, param) == SEDialogResult.Yes)
                {
                    ok = DBProviderSet.CreateDatabase(txtCreateDatabaseLocationFile.Text, txtServer.Text, (int)numPort.Value, txtUser.Text, txtPassword.Text, (int)numPacketSize.Value, txtClientLibrary.Text, true, true);
                }
            }
            else
            {
                if (!fi.Directory.Exists)
                {
                    return;
                }
                ok = DBProviderSet.CreateDatabase(txtCreateDatabaseLocationFile.Text, txtServer.Text, (int)numPort.Value, txtUser.Text, txtPassword.Text, (int)numPacketSize.Value, txtClientLibrary.Text, true, true);
            }

            if (!ok)
            {
                SEMessageBox.ShowMDIDialog(FbXpertMainForm.Instance(), "DatabaseError", "DatabaseNotCreated", SEMessageBoxButtons.OK, SEMessageBoxIcon.Asterisk, null, null);
            }
        }
Пример #2
0
        private FbConnection IsCreateDatabaseOrConnect(string cmd, FbConnection fbcon)
        {
            FbConnection useCon = fbcon;
            string       cmd1   = cmd.Trim();

            while (cmd1.IndexOf("\r\n", StringComparison.Ordinal) >= 0)
            {
                cmd1 = cmd1.Replace("\r\n", " ");
            }

            while (cmd1.IndexOf("  ", StringComparison.Ordinal) >= 0)
            {
                cmd1 = cmd1.Replace("  ", " ");
            }

            string cmd2 = cmd1.ToUpper();

            if (cmd2.StartsWith("CREATE DATABASE"))
            {
                DBProviderSet.CreateDatabase(cmd1, null);
                return(useCon);
            }
            else if (cmd2.StartsWith("CONNECT"))
            {
                useCon = CreateConnection(cmd1, fbcon);
                return(useCon);
            }
            return(null);
        }
Пример #3
0
        private void hsCreateDatabase_Click(object sender, EventArgs e)
        {
            var fi = new FileInfo(txtLocation.Text);

            if (fi.Exists)
            {
                object[] param = { $@"{txtServer.Text}:{txtLocation.Text}", Environment.NewLine };
                if (SEMessageBox.ShowMDIDialog(FbXpertMainForm.Instance(), "DatabaseExistsCaption", "OverrideExistingDatabase", SEMessageBoxButtons.NoYes, SEMessageBoxIcon.Asterisk, null, param) == SEDialogResult.Yes)
                {
                    DBProviderSet.CreateDatabase(txtLocation.Text, txtServer.Text, txtUser.Text, txtPassword.Text,
                                                 StaticFunctionsClass.ToIntDef(txtPacketsize.Text, AppSettingsClass.Instance().DatabaseSettings.DefaultPacketSize), true, true);
                }
            }
            else
            {
                if (!fi.Directory.Exists)
                {
                    return;
                }
                DBProviderSet.CreateDatabase(txtLocation.Text, txtServer.Text, txtUser.Text, txtPassword.Text,
                                             StaticFunctionsClass.ToIntDef(txtPacketsize.Text, AppSettingsClass.Instance().DatabaseSettings.DefaultPacketSize), true, true);
            }
        }
Пример #4
0
        private bool CreateDatabase(string sqlCmd)
        {
            /*
             *  CREATE DATABASE 'localhost:D:\Data\kj\KJFERT59.FDB'
             *  USER 'SYSDBA' PASSWORD 'masterkey'
             *  PAGE_SIZE 8192
             *  DEFAULT CHARACTER SET NONE;
             */
            string sql        = sqlCmd.ToUpper();
            string location   = "D:\\Data\\test111.FDB";
            string server     = "localhost";
            string user       = "******";
            string password   = "******";
            string packetsize = "8192";

            int inx = sql.IndexOf("CREATE DATABASE ", StringComparison.Ordinal);

            if (inx >= 0)
            {
                string cmd3 = sqlCmd.Substring(inx + 16);
                int    inx2 = cmd3.IndexOf(" ", StringComparison.Ordinal);
                string arg  = cmd3.Substring(0, inx2);

                int inx3 = arg.IndexOf(":\\", StringComparison.Ordinal);
                int inx4 = arg.IndexOf(":", StringComparison.Ordinal);
                if (inx4 < inx3)
                {
                    //server
                    server   = arg.Substring(0, inx4).Replace("'", "");
                    location = arg.Substring(inx4 + 1);
                    location = location.Replace("'", "");
                }
                else
                {
                    //nur dateipfad
                    server   = "localhost";
                    location = arg.Replace("'", "");
                }
            }

            inx = sql.IndexOf("USER ", StringComparison.Ordinal);
            if (inx >= 0)
            {
                string cmd3 = sqlCmd.Substring(inx + 5);
                int    inx2 = cmd3.IndexOf(" ", StringComparison.Ordinal);
                string arg  = cmd3.Substring(0, inx2);
                user = arg.Replace("'", "");
            }

            inx = sql.IndexOf("PASSWORD ", StringComparison.Ordinal);
            if (inx >= 0)
            {
                string cmd3 = sqlCmd.Substring(inx + 9);
                int    inx2 = cmd3.IndexOf(" ", StringComparison.Ordinal);
                string arg  = cmd3.Substring(0, inx2);
                password = arg.Replace("'", "");
            }

            inx = sql.IndexOf("PAGE_SIZE ", StringComparison.Ordinal);
            if (inx >= 0)
            {
                string cmd3 = sqlCmd.Substring(inx + 10);
                int    inx2 = cmd3.IndexOf(" ", StringComparison.Ordinal);
                string arg  = cmd3.Substring(0, inx2);
                packetsize = arg;
            }

            try
            {
                _parentNotifies?.AddToINFO(StaticFunctionsClass.DateTimeNowStr() + " ...Creating new database via script " + server + ":" + location);
                DBProviderSet.CreateDatabase(location, server, user, password, StaticFunctionsClass.ToIntDef(packetsize, AppSettingsClass.Instance().DatabaseSettings.DefaultPacketSize));
            }
            catch (Exception ex)
            {
                NotifiesClass.Instance().AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"{sqlCmd}-> CreateDatabase()", ex));
            }

            return(true);
        }