I think the second one should also work, so this problem may however be fixed.<br><br>Best regards,<br><br>Tamas<br><br><br><div class="gmail_quote">2011/2/7 geographika <span dir="ltr">&lt;<a href="mailto:geographika@gmail.com">geographika@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

  
    
  
  <div text="#000000" bgcolor="#ffffff">
    Thanks Tamas for the quick reply. <br>
    I&#39;ve been trying a few more combinations, and I now have it working.
    <br>
    <br>
    In the geometry_columns table the first record works - when I
    duplicate the schema name in the the f_table_schema and f_table_name
    fields. The second does not. <br>
    In fact I can put any entry in the f_table_schema field - it appears
    to be ignored. <br><div class="im">
    <br>
    <br>
    [f_table_catalog], [f_table_schema] ,[f_table_name],
    [f_geometry_column],[coord_dimension],[srid],[geometry_type]<br>
    </div><table>
      <tbody>
        <tr>
          <td>DbName</td>
          <td>any value can be put here<br>
          </td>
          <td>schemaname.mytable</td>
          <td>GEOMFIELD</td>
          <td>2</td>
          <td>32768</td>
          <td>MULTIPOLYGON</td>
        </tr>
        <tr>
          <td>DbName</td>
          <td>schemaname</td>
          <td>mytable</td>
          <td>GEOMFIELD</td>
          <td>2</td>
          <td>32768</td>
          <td>MULTIPOLYGON</td>
        </tr>
      </tbody>
    </table>
    <br>
    The following now works (with the first record - not the second):<br>
    <br>
    conn_string = &quot;MSSQL:server=W08-SQL08;database=DbName;Integrated
    Security=true;&quot;<div class="im"><br>
    ds = ogr.Open(conn_string)<br></div>
    lyr = ds.GetLayerByName(&#39;schemaname.mytable&#39;) #schema name always
    has to be passed here<br>
    <br>
    If this is not the intended behaviour I can create a ticket,
    otherwise thanks for your time (and drivers!). <br>
    <br>
    Regards,<br>
    <br>
    Seth<div class="im"><br>
    <br>
    <div lang="x-western"> <font color="#888888">--<br>
        web:</font><a href="http://geographika.co.uk" target="_blank"><font color="#888888"> </font>http://geographika.co.uk</a><br>
      <font color="#888888">twitter: @geographika<br>
      </font><br>
    </div>
    <br>
    <br></div><div><div></div><div class="h5">
    On 07/02/2011 13:26, Tamas Szekeres wrote:
    <blockquote type="cite"><br>
      <br>
      <div class="gmail_quote">2011/2/7 geographika <span dir="ltr">&lt;<a href="mailto:geographika@gmail.com" target="_blank">geographika@gmail.com</a>&gt;</span><br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
          <div text="#000000" bgcolor="#ffffff"> Hi,<br>
            <br>
            When working with the SQL Server 2008 OGR driver I presume
            it is necessary to create the following metadata tables?<br>
            <br>
            geometry_columns <br>
            spatial_ref_sys<br>
            <br>
            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: <br>
            <br>
            conn_string =
            &quot;MSSQL:server=W08-SQL08;database=dbname;Integrated
            Security=true;&quot;<br>
            ds = ogr.Open(conn_string)<br>
            lyr = ds.GetLayerByName(&#39;testdata&#39;)<br>
          </div>
        </blockquote>
        <div><br>
          Hi Seth,<br>
          <br>
          Those metadata tables are required since MSSQL2008 doesn&#39;t
          have a builtin way to store all of these information. When
          importing the first table it should indeed be created from
          scratch. With regards to spatial_ref_sys it could also be
          populated by using the corresponding postgis script.<br>
          <br>
           </div>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
          <div text="#000000" bgcolor="#ffffff"> <br>
            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:<br>
            <br>
            &quot;MSSQL:server=W08-SQL08;database=dbname;Integrated
            Security=true;tables=myschema.testdata(GEOMFIELD)&quot; <br>
            <br>
            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:<br>
            <br>
            INSERT INTO [geometry_columns] ([f_table_catalog],
            [f_table_schema] ,[f_table_name],
            [f_geometry_column],[coord_dimension],[srid],[geometry_type])
            <br>
            VALUES (&#39;DbName&#39;, &#39;<b>myschema</b>&#39;, &#39;testdata&#39;,
            &#39;GEOMFIELD&#39;, 2, 32768, &#39;MULTIPOLYGON&#39;)<br>
            <br>
            However using SQL Profiler when trying to connect to the
            layer it always tries to find this layer in <b>dbo</b>. <br>
            <br>
            exec DbName..sp_columns N&#39;testdata&#39;,N&#39;<b>dbo</b>&#39;,N&#39;DbName&#39;,NULL<br>
            <br>
            As it does not exist in dbo the connection never succeeds,
            and I cannot connect to any of the layers in the database. <br>
            I can add this to trac if it is an issue - I just want to
            first make sure I&#39;ve not made any obvious errors. <br>
            <br>
          </div>
        </blockquote>
        <div><br>
          Specifying the schema in geometry_columns should be working
          and myschema.mytable(GEOMFIELD) should also be a working
          option. So please file a ticket with this issue if you
          encounter problems here.<br>
          <br>
          <br>
          Best regards,<br>
          <br>
          Tamas<br>
           <br>
        </div>
      </div>
      <br>
      <div style="padding: 0px; margin-left: 0px; margin-top: 0px; overflow: hidden; word-wrap: break-word; color: black; font-size: 10px; text-align: left; line-height: 130%;">
      </div>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br><div style="visibility: hidden; left: -5000px; position: absolute; z-index: 9999; padding: 0px; margin-left: 0px; margin-top: 0px; overflow: hidden; word-wrap: break-word; color: black; font-size: 10px; text-align: left; line-height: 130%;" id="avg_ls_inline_popup">
</div>