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