SQL 服务器 PolyTab.GeometryCol.STContains(PointTab.GeometryCol) = 1 不允许

SQL Server PolyTab.GeometryCol.STContains(PointTab.GeometryCol) = 1 not Allowed

我有两个基本表,其中包含几何列类型。一个有多边形和其他点,我正在尝试使用以下基本查询加入它们:

Select dbo.PointTab.*, dbo.PolyTab.Name from dbo.PointTab
Inner Join dbo.PolyTab
On
dbo.PolyTab.GeometryCol.STContains(dbo.PointTab.GeometryCol) = 1

我已经尝试了很多关于这个查询的变体,但总是得到错误:

Error Source:   .Net SQLClient Data Provider
Error Message:  Remote function reference
            'dbo.PolyTab.GeometryCol.STContains' is not allowed, and the
                   column name dbo could not be found or is ambiguous

我在 Windows Server 2016 和 SQL Server Standard 2016 上 运行 宁此。.net 系统是 4.6,以前的版本(启用 3.5 和 2)

如果我使用 ODBC 和我老忠实的笔记本电脑 运行ning win 8.1 进入数据库,那么它 运行s(没有列上的 DBO 前缀)。

互联网上没有有用的参考资料,我 运行 没有天赋。

提前致谢

马丁

YAAYYYYYYY。知道了

似乎 STContains 函数不会与字段名称前面的 DBO 架构一起运行。

如果您将数据库名称添加到查询中,它就会起作用。应该是这样的。

USE MyDatabase Select dbo.PointTab.*, dbo.PolyTab.Name from dbo.PointTab Inner Join dbo.PolyTab On PolyTab.GeometryCol.STContains(dbo.PointTab.GeometryCol) = 1