ThinkGeo.com    |     Documentation    |     Premium Support

MsSql2008FeatureLayer setup?

Hi , I'm trying to read the tables from MS SQL, I copied the code from here



websamples.thinkgeo.com/



to get the tables into ms sql i used blog.sqlauthority.com/2010/03/30/sql-server-world-shapefile-download-and-upload-to-database-spatial-database/ and set the parameters in geometry without srid, geometry name is geom and id name is id and spartial index, and also changed .aspx into visible in the aspx file

 


I modified the connectionstring to fit

but once I run the webpage I get an empty map with only the zoom panel , i know it finds the database becuase if i enter incorrect values it gives an exception 



maybe i get wrong featureIdColumn , isnt it geom? 



here is my code:




             map.MapUnit = GeographyUnit.DecimalDegree;



            string connectString = "User ID=testuser;Password=testpassword;Data Source=server2;Initial Catalog=ThinkGeo;";

            MsSql2008FeatureLayer world = new MsSql2008FeatureLayer(connectString, "cntry02","geom");

            world.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.Country1; //AreaStyles.Country1;

            world.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyles.Highway1;

            world.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;



            map.StaticOverlay.Layers.Add("Sql2008Layer", world);  

 


Does anyone got an idea what I'm doing wrong ?



Hi, Itay 



Thank you for providing us the information about this problem. I have tested it using cntry02 shape file data and it works well. The featureIdColumn represents represents the name of the column that holds the unique feature Id., and I think you have set it wrong. I guess it should be "id" by defalut. You can check it in your database. Also I suggest you should check whether you have set the right table name and test it with code below: 



sql2008Layer.Open(); 

Collection<feature> features = sql2008Layer.FeatureSource.GetAllFeatures(ReturningColumnsType.AllColumns); 

sql2008Layer.Close(); 

</feature>


When you upload your shape file to sql server with shape2sql tool and I suggest that you need to click the Set SRID checkbox and set it 4326 if you are uing cntry02 shape file with DecimalDegree map unit.


<feature>

If you still have this problem please provide us the code and data you are using, if it's so big that you may send it to support@thingkeo.com and ask him to forward me. 



Thanks, 



Khalil</feature>