执行购物篮分析挖掘结构语句时遇OLE DB语法错误,求排查
问题分析与解决方案
你的INSERT语句触发语法错误的核心原因是带空格的标识符未正确包裹:
在第一个OPENQUERY的查询语句中,你引用的视图名是V Online Sales Order,它包含多个空格,但没有用方括号[]括起来。SQL Server会把空格分隔的字符串拆解成多个独立的关键字/标识符,当解析到Sales时,它无法识别这个位置的语法,因此抛出了"Incorrect syntax near 'Sales'"的错误。
修正后的完整语句
INSERT INTO MINING STRUCTURE [Market Basket] ( [OrderNumber], [Product] (SKIP, [Model]) ) SHAPE { OPENQUERY([ContosoRetailDW],'SELECT OrderNumber FROM [V Online Sales Order] ORDER BY OrderNumber') } APPEND ( {OPENQUERY([ContosoRetailDW],'SELECT OrderNumber, Model FROM dbo.V_OnlineSalesOrder ORDER BY OrderNumber, Model') } RELATE OrderNumber to OrderNumber ) AS [Product]
额外说明
- 所有包含空格、特殊字符或与SQL关键字重名的标识符(表名、视图名、列名等),都必须用方括号
[]或者双引号(需开启QUOTED_IDENTIFIER设置)包裹,避免语法解析错误。 - 请确认
[V Online Sales Order]这个视图确实存在于ContosoRetailDW数据库中,且当前执行语句的账号有访问该视图的权限。
内容的提问来源于stack exchange,提问作者arslan
相关产品推荐
相关产品推荐

