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]"); }
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); }