Пример #1
0
        public void Import(string conn, string table, int start, int count, bool force, FSStoreDelegate store)
        {
            int imported = 0;

            using (MySqlConnection importConn = new MySqlConnection(conn))
            {
                try
                {
                    importConn.Open();
                }
                catch (MySqlException e)
                {
                    m_log.ErrorFormat("[FSASSETS]: Can't connect to database: {0}",
                                      e.Message.ToString());

                    return;
                }

                using (MySqlCommand cmd = importConn.CreateCommand())
                {
                    string limit = String.Empty;
                    if (count != -1)
                    {
                        limit = String.Format(" limit {0},{1}", start, count);
                    }

                    cmd.CommandText = String.Format("select * from {0}{1}", table, limit);

                    MainConsole.Instance.Output("Querying database");
                    using (IDataReader reader = cmd.ExecuteReader())
                    {
                        MainConsole.Instance.Output("Reading data");

                        while (reader.Read())
                        {
                            if ((imported % 100) == 0)
                            {
                                MainConsole.Instance.Output(String.Format("{0} assets imported so far", imported));
                            }

                            AssetBase     asset = new AssetBase();
                            AssetMetadata meta  = new AssetMetadata();

                            meta.ID     = reader["id"].ToString();
                            meta.FullID = new UUID(meta.ID);

                            meta.Name         = reader["name"].ToString();
                            meta.Description  = reader["description"].ToString();
                            meta.Type         = (sbyte)Convert.ToInt32(reader["assetType"]);
                            meta.ContentType  = SLUtil.SLAssetTypeToContentType(meta.Type);
                            meta.CreationDate = Util.ToDateTime(Convert.ToInt32(reader["create_time"]));

                            asset.Metadata = meta;
                            asset.Data     = (byte[])reader["data"];

                            store(asset, force);

                            imported++;
                        }
                    }
                }
                importConn.Close();
            }

            MainConsole.Instance.Output(String.Format("Import done, {0} assets imported", imported));
        }
        public void Import(string conn, string table, int start, int count, bool force, FSStoreDelegate store)
        {
            int imported = 0;

            using (MySqlConnection importConn = new MySqlConnection(conn))
            {
                try
                {
                    importConn.Open();
                }
                catch (MySqlException e)
                {
                    m_log.ErrorFormat("[FSASSETS]: Can't connect to database: {0}",
                            e.Message.ToString());

                    return;
                }

                using (MySqlCommand cmd = importConn.CreateCommand())
                {
                    string limit = String.Empty;
                    if (count != -1)
                    {
                        limit = String.Format(" limit {0},{1}", start, count);
                    }

                    cmd.CommandText = String.Format("select * from {0}{1}", table, limit);

                    MainConsole.Instance.Output("Querying database");
                    using (IDataReader reader = cmd.ExecuteReader())
                    {
                        MainConsole.Instance.Output("Reading data");

                        while (reader.Read())
                        {
                            if ((imported % 100) == 0)
                            {
                                MainConsole.Instance.Output(String.Format("{0} assets imported so far", imported));
                            }

                            AssetBase asset = new AssetBase();
                            AssetMetadata meta = new AssetMetadata();

                            meta.ID = reader["id"].ToString();
                            meta.FullID = new UUID(meta.ID);

                            meta.Name = reader["name"].ToString();
                            meta.Description = reader["description"].ToString();
                            meta.Type = (sbyte)Convert.ToInt32(reader["assetType"]);
                            meta.ContentType = SLUtil.SLAssetTypeToContentType(meta.Type);
                            meta.CreationDate = Util.ToDateTime(Convert.ToInt32(reader["create_time"]));

                            asset.Metadata = meta;
                            asset.Data = (byte[])reader["data"];

                            store(asset, force);

                            imported++;
                        }
                    }

                }
            }

            MainConsole.Instance.Output(String.Format("Import done, {0} assets imported", imported));
        }
Пример #3
0
        public void Import(string conn, string table, int start, int count, bool force, FSStoreDelegate store)
        {
            int    imported = 0;
            string limit    = String.Empty;

            if (count != -1)
            {
                limit = String.Format(" limit {0} offset {1}", start, count);
            }
            string query = String.Format("select * from {0}{1}", table, limit);

            try
            {
                using (NpgsqlConnection remote = new NpgsqlConnection(conn))
                    using (NpgsqlCommand cmd = new NpgsqlCommand(query, remote))
                    {
                        remote.Open();
                        MainConsole.Instance.Output("Querying database");
                        MainConsole.Instance.Output("Reading data");
                        using (NpgsqlDataReader reader = cmd.ExecuteReader(CommandBehavior.Default))
                        {
                            while (reader.Read())
                            {
                                if ((imported % 100) == 0)
                                {
                                    MainConsole.Instance.Output(String.Format("{0} assets imported so far", imported));
                                }

                                AssetBase     asset = new AssetBase();
                                AssetMetadata meta  = new AssetMetadata();

                                meta.ID     = reader["id"].ToString();
                                meta.FullID = new UUID(meta.ID);

                                meta.Name         = String.Empty;
                                meta.Description  = String.Empty;
                                meta.Type         = (sbyte)Convert.ToInt32(reader["assetType"]);
                                meta.ContentType  = SLUtil.SLAssetTypeToContentType(meta.Type);
                                meta.CreationDate = Util.ToDateTime(Convert.ToInt32(reader["create_time"]));

                                asset.Metadata = meta;
                                asset.Data     = (byte[])reader["data"];

                                store(asset, force);

                                imported++;
                            }
                        }
                    }
            }
            catch (Exception e)
            {
                m_log.ErrorFormat("[PGSQL FSASSETS]: Error importing assets: {0}",
                                  e.Message.ToString());
                return;
            }

            MainConsole.Instance.Output(String.Format("Import done, {0} assets imported", imported));
        }
Пример #4
0
        public void Import(string conn, string table, int start, int count, bool force, FSStoreDelegate store)
        {
            int imported = 0;
            string limit = String.Empty;
            if(count != -1)
            {
                limit = String.Format(" limit {0} offset {1}", start, count);
            }
            string query = String.Format("select * from {0}{1}", table, limit);
            try
            {
                using (NpgsqlConnection remote = new NpgsqlConnection(conn))
                using (NpgsqlCommand cmd = new NpgsqlCommand(query, remote))
                {
                    remote.Open();
                    MainConsole.Instance.Output("Querying database");
                    MainConsole.Instance.Output("Reading data");
                    using (NpgsqlDataReader reader = cmd.ExecuteReader(CommandBehavior.Default))
                    {
                        while (reader.Read())
                        {
                            if ((imported % 100) == 0)
                            {
                                MainConsole.Instance.Output(String.Format("{0} assets imported so far", imported));
                            }
    
                            AssetBase asset = new AssetBase();
                            AssetMetadata meta = new AssetMetadata();

                            meta.ID = reader["id"].ToString();
                            meta.FullID = new UUID(meta.ID);

                            meta.Name = String.Empty;
                            meta.Description = String.Empty;
                            meta.Type = (sbyte)Convert.ToInt32(reader["assetType"]);
                            meta.ContentType = SLUtil.SLAssetTypeToContentType(meta.Type);
                            meta.CreationDate = Util.ToDateTime(Convert.ToInt32(reader["create_time"]));

                            asset.Metadata = meta;
                            asset.Data = (byte[])reader["data"];

                            store(asset, force);

                            imported++;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                m_log.ErrorFormat("[PGSQL FSASSETS]: Error importing assets: {0}",
                        e.Message.ToString());
                return;
            }

            MainConsole.Instance.Output(String.Format("Import done, {0} assets imported", imported));
        }