Sql server 在链接的SQL Server上查询名称为句点的数据库
我需要查询链接服务器上的数据库,不幸的是,数据库名称包含句点 这是失败的Sql server 在链接的SQL Server上查询名称为句点的数据库,sql-server,tsql,sql-server-2005,Sql Server,Tsql,Sql Server 2005,我需要查询链接服务器上的数据库,不幸的是,数据库名称包含句点 这是失败的 select top 10 * FROM [LINKED_SERVER].[DATABASE_NAME.1].dbo.[TABLE_NAME] 出现此错误时: OLE DB错误跟踪[非接口错误:OLE DB提供程序无法处理该对象,因为该对象没有列ProviderName='SQLOLEDB',Query=“DATABASE_NAME.1”。“dbo”。“TABLE_NAME”。 信息7357,16级,状态2,第2行
select top 10 *
FROM [LINKED_SERVER].[DATABASE_NAME.1].dbo.[TABLE_NAME]
出现此错误时:
OLE DB错误跟踪[非接口错误:OLE DB提供程序无法处理该对象,因为该对象没有列ProviderName='SQLOLEDB',Query=“DATABASE_NAME.1”。“dbo”。“TABLE_NAME”。信息7357,16级,状态2,第2行
无法处理对象“DATABASE_NAME.1”、“dbo”、“TABLE_NAME”。OLE DB提供程序“SQLOLEDB”指示对象没有列 连接到同一个链接的服务器时,数据库名称中没有句号即可工作
select top 10 *
FROM [LINKED_SERVER].[DATABASE_NAME].dbo.[TABLE_NAME]
由于有许多对现有数据库名称的引用超出了我的控制,我希望找到一种解决方案,避免永久性地重新命名数据库
我希望能够创建同义词或其他别名,或者找到其他方法来实现此功能。通过链接服务器访问的数据库名称中的句点在使用括号[]进行转义时完全可以接受-您得到的错误必须是其他错误 我可以在我的试验台上确认这一点:
一个想法是,您在链接服务器上使用旧的
SQLOLEDB
提供程序,您是否尝试过使用SQLNCLI10
?避免标识符中的句点
e、 g.在SSMS中
sp_help [sales.order]
即使使用括号,也不起作用