The TatukGIS Developer Kernel Enterprise version and desktop GIS Editor products support reading and writing the Microsoft SQL Spatial (Katmai) vector data structure, its spatial indexes and related features. (The free GIS Viewer provides read-only support.) Further to the information contained in this knowledge base item, detailed and more frequently updated information about TatukGIS support for MS SQL Spatial layer class and data structures is found in the Developer Kernel product documentation web site at: http://docs.tatukgis.com/DK11
A MSSQL Spatial layer can be opened in a TatukGIS product by opening a *.ttkls file with the name_of_layer.ttkls or, without the use of a *.ttkls file, by i) embedding all the *.ttkls file parameters into the Path property as a CRLF or '\n' delimited sting (as a new line) or ii) assigning the *.ttkls file parameters to the SQLParameters property using SQLParameters[‘KEY’] = VALUE.
The TTKLS file is a TatukGIS stub file which contains the connection settings to any given SQL database layer. A TTKLS file can be created i) manually using any text editor (such as Note Pad) or ii) using the SQL connection Wizard feature in the Editor product (refer to menu item: Layer/Add SQL Layer).
The structure of the *.ttkls file for a MSSQL Spatial layer must be:
[TatukGIS Layer]
Storage=Katmai
Layer=table name
Dialect=MSSQL
GeometryColumn=geometry column name
GeometryType=geometry type name (geometry,geography)
IndexColumn=index column
SRID=epsg code for geography type
ForceSpatialIndex=True|False
GeometryRelationships=Server|Client - default is Client if parameter omitted
MetadataTable=Native|Internal - default is Native
ADONET=ADO.NET connection string with MARS enabled
Provider=.NET Framework data provider (InvariantName from DbProviderFactories)
ReadOnly=True|False
For example:
[TatukGIS Layer]
Storage=Katmai
Layer=Rivers
Dialect=MSSQL
GeometryColumn=geom
GeometryType=geometry
IndexColumn=GID
ForceSpatialIndex=True
ADONET=Integrated Security=SSPI;Persist Security Info=False;User ID="";
Initial Catalog=GIS;Data Source=PC\SQLEXPRESS;MultipleActiveResultSets=True
Provider=System.Data.SqlClient
This layer can also be opened by providing SQLParameters property.
OnPassword event will be fired upon connecting to a database to resolve <#user#>, <#password#> or any other <#token#> embedded into connection options.
Notes:
- Try to use an uppercase layer name (in the meaning of Layer=xxxx). Layer name can be case sensitive on database engines.
- The geometry column should allow null values because an empty record is reserved upon shape creation. This layer works faster when the spatial index for the layer exists.
- If checking DE9-IM coincidence between geometry objects, take into consideration the GeometryRelationships setting.
- To work with ADO.NET and the new SQL Server 2008 geometry types, the ttkADONET.dll and Microsoft.SqlServer.Types.dll from Microsoft SQL Server System CLR Types libraries are required for client applications.
- MetadataTable property instructs a layer where to look for metadata info required to set up basic parameters such as the geometry column, srid, and extent. The Native option uses a format specific table, the Internal option uses the internal table (TTKGIS_GEOMETRY_COLUMNS). The same rules are applied for writing data.
- For compatibility with older versions, the ADO property is equivalent with ADONET.