Example #1
0
        public static void Execute()
        {
            NpgsqlConnectionInfo info = new NpgsqlConnectionInfo
            {
                ServerName   = _hostname,
                ServerPort   = _port,
                DatabaseName = _database,
                UserName     = _username
            };

            info.FillStoredPassword(false);
            using (IDbConnection conn = TryLogin(info))
            {
                if (conn == null)
                {
                    Console.Error.WriteLine("ログインできませんでした。終了します。");
                    Environment.Exit(1);
                }
            }
            ExportTable obj = new ExportTable
            {
                DataSet = new NpgsqlDataSet(info)
            };

            if (_exportDir == null)
            {
                _exportDir = Environment.CurrentDirectory;
            }
            Task t = null;

            switch (_mode)
            {
            case ExportMode.Export:
                t = obj.ExportAsync(obj.DataSet, _schemas, _excludeSchemas, _configFileName, _exportDir, _encoding);
                break;

            case ExportMode.GenerateConfig:
                t = obj.ExportConfigAsync(obj.DataSet, _schemas, _excludeSchemas, _configFileName, _ruleFileName, _encoding);
                break;

            case ExportMode.GenerateRule:
                File.WriteAllText(_ruleFileName, Properties.Resources.DBExpRule, _encoding);
                break;
            }
            if (t == null)
            {
                return;
            }
            while (!t.IsCompleted)
            {
                Thread.Sleep(100);
            }
            if (t.IsFaulted)
            {
                Console.Error.WriteLine(t.ToString());
                Console.Error.Flush();
                Environment.Exit(1);
            }
        }
Example #2
0
        private void window_Loaded(object sender, RoutedEventArgs e)
        {
            gridLoading.Visibility = Visibility.Collapsed;
            ConnectionInfo info = new NpgsqlConnectionInfo()
            {
                ServerName   = App.Hostname,
                ServerPort   = App.Port,
                DatabaseName = App.Database,
                UserName     = App.Username
            };

            if (App.HasConnectionInfo)
            {
                if (!info.FillStoredPassword(true))
                {
                    if (TryConnect(info))
                    {
                        return;
                    }
                }
            }
            else
            {
                info = NewConnectionInfoFromRegistry();
            }
            NewConnectionWindow win = new NewConnectionWindow();

            win.Owner  = this;
            win.Target = info;
            bool?ret = win.ShowDialog();

            if (!ret.HasValue || !ret.Value)
            {
                return;
            }
            info = win.Target;
            Connect(info);
            App.Connections.Merge(info);
            App.Connections.Save();
            menuItemPsql.IsEnabled   = !string.IsNullOrEmpty(GetExecutableFromPath(menuItemPsql.Tag.ToString()));
            menuItemPgdump.IsEnabled = !string.IsNullOrEmpty(GetExecutableFromPath(menuItemPgdump.Tag.ToString()));
            {
                CommandBinding cb;
                cb = new CommandBinding(DataGridCommands.CopyTable, CopyTableCommand_Executed, CopyTableCommand_CanExecute);
                CommandBindings.Add(cb);
                cb = new CommandBinding(DataGridCommands.CopyTableContent, CopyTableContentCommand_Executed, CopyTableCommand_CanExecute);
                CommandBindings.Add(cb);
                cb = new CommandBinding(DataGridCommands.CopyTableAsInsert, CopyTableAsInsertCommand_Executed, CopyTableCommand_CanExecute);
                CommandBindings.Add(cb);
                cb = new CommandBinding(DataGridCommands.CopyTableAsCopy, CopyTableAsCopyCommand_Executed, CopyTableCommand_CanExecute);
                CommandBindings.Add(cb);
            }
        }
Example #3
0
        private ConnectionInfo NewConnectionInfoFromRegistry()
        {
            NpgsqlConnectionInfo info = new NpgsqlConnectionInfo()
            {
                ServerName   = App.Registry.GetString("Connection", "ServerName", App.Hostname),
                ServerPort   = App.Registry.GetInt32("Connection", "ServerPort", App.Port),
                DatabaseName = App.Registry.GetString("Connection", "DatabaseName", App.Database),
                UserName     = App.Registry.GetString("Connection", "UserName", App.Username),
                SearchPath   = App.Registry.GetString("Connection", "SearchPath", App.SearchPath),
            };

            info.FillStoredPassword(false);
            info = App.Connections.Find(info) as NpgsqlConnectionInfo;
            return(info);
        }
Example #4
0
        public static void Execute()
        {
            NpgsqlConnectionInfo info = new NpgsqlConnectionInfo
            {
                ServerName   = _hostname,
                ServerPort   = _port,
                DatabaseName = _database,
                UserName     = _username
            };

            info.FillStoredPassword(false);
            using (IDbConnection conn = TryLogin(info))
            {
                if (conn == null)
                {
                    Console.Error.WriteLine("ログインできませんでした。終了します。");
                    Environment.Exit(1);
                }
            }
            ExportSchema obj = new ExportSchema
            {
                DataSet = new NpgsqlDataSet(info)
                {
                    NewLineRule = _newLine
                }
            };

            if (_exportDir == null)
            {
                _exportDir = Environment.CurrentDirectory;
            }
            Task t = obj.ExportAsync(obj.DataSet, _schemas, _excludeSchemas, _exportDir, _encoding);

            while (!t.IsCompleted)
            {
                Thread.Sleep(100);
            }
            if (t.IsFaulted)
            {
                Console.Error.WriteLine(t.ToString());
                Console.Error.Flush();
                Environment.Exit(1);
            }
        }