[gdal-dev] MSSQL2008 Driver and OGR/Python
    geographika 
    geographika at gmail.com
       
    Mon Feb  7 06:34:20 EST 2011
    
    
  
Hi,
When working with the SQL Server 2008 OGR driver I presume it is 
necessary to create the following metadata tables?
geometry_columns
spatial_ref_sys
There appears to be no way to do this automatically in Python, but if I 
import a single dataset into the database it is created automatically. I 
can then use:
conn_string = "MSSQL:server=W08-SQL08;database=dbname;Integrated 
Security=true;"
ds = ogr.Open(conn_string)
lyr = ds.GetLayerByName('testdata')
It would be nice to be able to connect to a layer without having to 
register it with the geometry_columns table using a connection string 
such as:
"MSSQL:server=W08-SQL08;database=dbname;Integrated 
Security=true;tables=myschema.testdata(GEOMFIELD)"
As this is not currently possible I manually added a record to 
geometry_columns for an existing spatial table in my database. This is 
in a separate schema so I used the following SQL:
INSERT INTO [geometry_columns] ([f_table_catalog], [f_table_schema] 
,[f_table_name], 
[f_geometry_column],[coord_dimension],[srid],[geometry_type])
VALUES ('DbName', '*myschema*', 'testdata', 'GEOMFIELD', 2, 32768, 
'MULTIPOLYGON')
However using SQL Profiler when trying to connect to the layer it always 
tries to find this layer in *dbo*.
exec DbName..sp_columns N'testdata',N'*dbo*',N'DbName',NULL
As it does not exist in dbo the connection never succeeds, and I cannot 
connect to any of the layers in the database.
I can add this to trac if it is an issue - I just want to first make 
sure I've not made any obvious errors.
Regards,
Seth Girvin
--
web:http://geographika.co.uk
twitter: @geographika
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20110207/a524aa6e/attachment.html
    
    
More information about the gdal-dev
mailing list