Пример #1
0
        public ScimoreDb()
        {
            try
            {
                IPathManager pathManager   = ServiceRegistration.Get <IPathManager>();
                string       dataDirectory = pathManager.GetPath("<DATA>");
                string       databasePath  = Path.Combine(dataDirectory, DEFAULT_DATABASE_FILE);

                const string DATABASE_NAME = "MediaPortal";
                _connectionString = "Initial Catalog=" + DATABASE_NAME;

                _db.Create(databasePath);
                _db.Open(databasePath);
                using (ScimoreConnection conn = _db.CreateConnection(_connectionString))
                {
                    using (IDbCommand command = conn.CreateCommand())
                    {
                        command.CommandText = "CREATE DATABASE IF NOT EXISTS " + DATABASE_NAME;
                        command.ExecuteNonQuery();
                    }
                }
            }
            catch (Exception e)
            {
                ServiceRegistration.Get <ILogger>().Critical("Error establishing database connection", e);
                throw;
            }
        }
Пример #2
0
        public override bool Initialize()
        {
            if (Initialized)
            {
                return(false);
            }
            Embedded = new ScimoreEmbedded();
            Embedded.MaxConnections = 16;
            Embedded.MemoryPages    = 3000;
            Embedded.MaxLocks       = 1000000;
            var exits = Directory.Exists(Path);

            if (!exits)
            {
                Embedded.Create(Path);
            }
            Embedded.Open(Path);

            Initialized = true;
            using (var conn = GetConnection(true))
            {
                if (!exits)
                {
                    conn.Execute($"CREATE DATABASE {DatabaseName}");
                }
                conn.Execute($"USE {DatabaseName}");
            }

            return(!exits);
        }