当应用程序从本地运行而不在Azure应用程序服务中运行时,Azure Sql Spatial查询有效

时间:2019-01-30 12:13:03

标签: sql-server nhibernate azure-web-sites spatial azure-sql-server

我们有一个应用程序,可以在地图上显示一些标记,仅显示坐标(地理位置sql数据类型)。当我从计算机启动应用程序时,一切正常,但是当它从Azure(Azure Web应用程序)运行时,选择查询有效,但更新不起作用,更新坐标时,它将放置null而不是值。我已经远程调试了该应用程序,并跟踪了代码,直到.ExecuteNonQuery()和所有数据都存在于DbCommand中,并且就好像它是从本地计算机上运行一样。

直到几个月前,该应用程序的运行状况已有两年了。

在过去的3天白天和晚上的工作中,我真的尝试了所有事情,以下是所有可能有趣的信息,希望有人能为我提供帮助:

  • 针对.net 4.7.2的ASP.NET核心应用使用NHibernate 5.2.3,Nhibernate.Spatial.MsSql 5.1.1
  • 已安装Microsoft.SqlServer.Types 14.0.1016.290,首先加载了本机库(我尝试了此dll的所有版本,从11.0.0到最新版本)
  • Db是在弹性级别140的弹性池上运行的Azure Sql数据库(我尝试将它们与Microsoft.SqlServer.Types进行所有可能的组合)

在我的计算机上,我安装了一些可以更改SqlClient行为的dll,它们来自:

  • Sql Express 2014和LocalDb 2016(以及ClrTypes等以及VS 2017 15.9.6附带的所有内容)

在Azure服务计划上,我发现:

D:\>dir /S SqlServerSpatial*.dll

 Directory of D:\Windows\System32

02/11/2012  08:06 AM           768,088 SqlServerSpatial110.dll
05/10/2017  03:46 PM           732,880 SqlServerSpatial140.dll
               2 File(s)      1,500,968 bytes

 Directory of D:\Windows\SysWOW64

02/11/2012  09:04 AM           521,816 SqlServerSpatial110.dll
05/10/2017  03:46 PM           586,960 SqlServerSpatial140.dll
               2 File(s)      1,108,776 bytes

有人有类似的问题吗?

0 个答案:

没有答案