【发布时间】:2018-04-10 16:05:59
【问题描述】:
当 FireDAC -> FDQuery 组件尝试使用“.”从数据库中选择数据时,我遇到了这个问题(点)在它的名字中。
数据库名称是 TEST_2.0,打开数据集的错误是:
在 sys.servers [...] 中找不到服务器“TEST_2”[...]
我试过{TEST_2.0}(大括号)和[TEST_2.0](方括号)。将 QuotedIdentifiers (Format Opetions) 属性设置为 True 似乎也不能解决问题。在 SQL 查询中,我可以添加 'SET QUOTED_IDENTIFIER ON;'但这会中断对数据集的插入。
FDConnection 组件可以使用 MSSQL 驱动程序毫无问题地连接到该服务器和该数据库。似乎是数据集没有处理它。 UniDAC 似乎可以毫无问题地处理所有事情。
我正在使用 RadStudio 10.2。
有没有人找到解决这个问题的方法?提前感谢您的任何回复
【问题讨论】:
-
能分享一下你执行的SQL命令吗?我能够使用命令
SELECT * FROM [TEST_2.0].INFORMATION_SCHEMA.TABLES重现此问题,源是元数据命令,特别是SQLPrimaryKeysODBC 函数。在确定答案之前,我想知道您的具体情况。 -
@Victoria - 我尝试了多个 SQL。数据集 SQL 字符串中的基数是
SELECT * FROM CRM_USERS(CRM_USERS 是表名)。后来我尝试了SELECT * FROM [TEST_2.0].[dbo].[CRM_USERS]。但唯一真正有帮助的是SET QUOTED_IDENTIFIER ON; SELECT * FROM CRM_USERS,它破坏了数据集的插入/追加方法 -
@Victoria FDQuery 数据集通过参数连接到 FDConnection 组件:Server: (localhost);数据库:Test_2.0