在DLL" SqlServerSpatial110.dll"中找不到SetClrFeatureSwitchMap。

时间:2016-05-30 13:56:17

标签: sql-server

我使用SQL Server 2012并尝试在类型为" geometry"的表列中插入多边形。如果我打电话

INSERT INTO GeoTable VALUES 
(
'Test',
geometry::STGeomFromText('POLYGON ((0 0, 0 160, 80 210, 140 210, 140 150, 90 0, 0 0))', 0)

);

我得到了一个入口点" SetClrFeatureSwitchMap"在DLL" SqlServerSpatial110.dll"中找不到。 System.EntryPointNotFoundException。

我该如何解决这个问题?

谢谢和问候

2 个答案:

答案 0 :(得分:1)

确认这两个dll都在bin文件夹中:

  • msvcr100.dll
  • SqlServerSpatial110.dll

并在你的web.config中有这个:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" />
      <bindingRedirect oldVersion="1.0.0.0-11.0.0.0" newVersion="10.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

答案 1 :(得分:0)

我的SQL Server版本是11.0.2100.60。更新到SQL Server SP3后,错误消失。