T-SQL Openquery报错:表名含空格无法访问Sage数据库表
解决Sage 50 Pervasive 13含空格表名的查询问题
你遇到的问题根源是Pervasive SQL(PSQL)不支持SQL Server的方括号[]作为标识符包裹符,需要改用PSQL原生支持的语法:
方法1:使用双引号包裹表名
PSQL对包含空格或特殊字符的对象名,标准用法是用双引号包裹,修改后的查询语句如下:
select * from openquery(ARKSAGE,'select * from NEPHROPATHOLOGYASSO1."Budget Details"')
方法2:尝试反引号包裹(部分PSQL版本支持)
如果双引号无效,可尝试用反引号包裹表名:
select * from openquery(ARKSAGE,'select * from NEPHROPATHOLOGYASSO1.`Budget Details`')
额外排查点
- 确认PSQL ODBC驱动版本与Pervasive 13兼容,版本不匹配可能导致标识符解析异常
- 检查链接服务器的MSDASQL提供者配置,确保「允许进程内」选项已启用
内容的提问来源于stack exchange,提问作者Asha Richardson
相关产品推荐
相关产品推荐

