MySQL错误代码: 3037 Invalid GIS data provided to function mbrcontains

标签 mysql asp.net

我有一个可用的 MySQL 数据库。我创建了备份并在服务器上恢复,没有任何错误。我查询找到MySQL版本

 SHOW VARIABLES LIKE "%version%";

本地主机 MySQL 版本是:

enter image description here

服务器 MySQL 版本是:

enter image description here

localhost 工作正常,但现在在我的一个存储过程中,服务器上出现异常:

 Error Code: 3037 Invalid GIS data provided to function mbrcontains. 

当我没有使用任何地理数据时,我没有找到有关此异常的任何帮助。

更新

我在存储过程中使用 contains 来创建异常

SELECT  Data_Type INTO TargetFieldType FROM information_schema.COLUMNS
    WHERE information_schema.COLUMNS.COLUMN_NAME= TargetFieldName
    AND information_schema.COLUMNS.TABLE_NAME=TableName
    AND information_schema.COLUMNS.TABLE_SCHEMA=dbName; 

    IF (( CONTAINS(@TargetFieldType ,'VARCHAR')= TRUE ) 
    OR (CONTAINS(TargetFieldType,'TEXT')= TRUE ) 
    OR (CONTAINS(TargetFieldType,'LONTTEXT')= TRUE)  
    OR (CONTAINS(TargetFieldType,'CHAR')= TRUE)      ) THEN
    SET TargetFieldValue = '''' + TargetFieldValue +'''';
    END IF ;

最佳答案

花了几个小时后我找到了解决方案。我已将 sp 查询中的 contains 更改为 Find_In_Set

SELECT  Data_Type INTO TargetFieldType FROM information_schema.COLUMNS
    WHERE information_schema.COLUMNS.COLUMN_NAME= TargetFieldName
    AND information_schema.COLUMNS.TABLE_NAME=TableName
    AND information_schema.COLUMNS.TABLE_SCHEMA='WMC'; 

    IF (( FIND_IN_SET(@TargetFieldType ,'VARCHAR')= TRUE ) 
    OR (FIND_IN_SET(TargetFieldType,'TEXT')= TRUE ) 
    OR (FIND_IN_SET(TargetFieldType,'LONTTEXT')= TRUE)  
    OR (FIND_IN_SET(TargetFieldType,'CHAR')= TRUE)   ) THEN
    SET TargetFieldValue = '''' + TargetFieldValue +'''';
    END IF ;

现在工作正常了。我还不知道问题所在,除了当我运行时

SHOW WARNINGS;

它给出 Contains 已被废弃,请使用 mbrcontains 但 mbrcontains 仍然给出相同的异常,只有 find_in_set 有效

关于MySQL错误代码: 3037 Invalid GIS data provided to function mbrcontains,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35149895/

相关文章:

mysql - 创建一个查询以获得两个相同的结果

asp.net - Ajax CalendarExtender 在谷歌浏览器中显示在错误的位置

asp.net - 使用 Web Deploy 部署 .NET 4.5 Web 应用程序

asp.net - 如何修改Web安装项目中的文件夹权限?

php - 使用php从MS SQL Server中提取数据库并将其实时导入到MySQL中?

php - 在 php 中求和以前的值

php - Laravel 5.2 如何在同一行显示成员列表和他/她的组(一对多(或多对多)数据显示)

python - SQLAlchemy 中列值作为 `REGEXP` 模式?

c# - 如何限制 MVC 文本框中字符的长度?

c# - 如何显示打开/保存对话框 asp net mvc 4