示例#1
0
        protected override void DoTaskWork(string osmFile, Library.OsmReader.AttributeRegistry attributeRegistry)
        {
            ExecuteSqlCmd("ALTER TABLE tWay ADD CONSTRAINT PK_tWay PRIMARY KEY CLUSTERED (Id) " +
                          "WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];");

            ExecuteSqlCmd("ALTER TABLE [tWayCreation] ADD CONSTRAINT PK_tWayCreation PRIMARY KEY CLUSTERED (wayId,	nodeId,	sort) "+
                          "WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]");

            ExecuteSqlCmd("CREATE CLUSTERED INDEX [idxWay] ON [dbo].[tWayTag] ([WayId] ASC,[Typ] ASC)WITH (STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]");
        }
示例#2
0
        protected override async void DoTaskWork(string osmFile, Library.OsmReader.AttributeRegistry attributeRegistry)
        {
            var res = await QuerySqlCmd <string>("SELECT @@VERSION;");

            bool is2008Server     = res.Contains("Server 2008");
            var  createExtensions = App.GetResourceFileText("osm2mssql.Importer.SQL.CreateDbExtension.sql");
            var  file             = Directory.GetCurrentDirectory() + @"\osm2mssql.OsmDb.dll";

            if (is2008Server)
            {
                file = Directory.GetCurrentDirectory() + @"\osm2mssql.OsmDb2008.dll";
            }

            var buffer = File.ReadAllBytes(file);
            var data   = "0x" + string.Join("", buffer.Select(x => x.ToString("X2")));

            createExtensions = createExtensions.Replace("[OSM]", Connection.InitialCatalog);
            createExtensions = createExtensions.Replace("[DllExtension]", data);
            ExecuteSqlCmd(createExtensions);
        }