【发布时间】:2013-08-22 14:05:51
【问题描述】:
我有一个本地 SQL Server 实例,我在该实例上创建了与名为“DB2OurDatabase”的 DB2 数据库的链接服务器连接。在创建链接服务器连接时,我指定了一个 UID 和 PWD,我在各种查询工具或应用程序中使用它来查询“[SchemaX].[TableX]”。
我似乎成功创建了链接服务器:在 SSMS 的链接服务器节点下创建了一个名为“DB2OurDatabase”的链接服务器节点对象,当我展开它时,我可以看到数据库。
当我在 [SchemaX].[TableX] 表上单击鼠标右键并选择
“Script Table as => Select To ==> New Window”,一个带有文本的新查询窗口打开
--[DB2OurDatabase].[DataCenterCityName2_DB2OurDatabase].[SchemaX].[TableX]
contains no columns that can be selected or the current user does not have permissions on that object.
GO
我不明白我如何能够创建一个可以查看数据库中表名的链接服务器,但显然我似乎遇到了似乎缺乏查询表的权限,即使我使用的是相同的我在 Squirell SQL 查询工具中使用的凭据,例如查询表。
在 SSMS 中,我尝试执行此操作
SELECT *
FROM [DB2OurDatabase].[DataCenterCityName2_DB2OurDatabase].[SchemaX].[TableX]
错误:
消息 7314,第 16 级,状态 1,第 1 行
链接服务器 "DB2OurDatabase]" 的 OLE DB 提供程序 "IBMDADB2" 不包含表 ""DataCenterCityName2_DB2OurDatabase"."SchemaX"."TableX""。该表不存在或当前用户对该表没有权限。
我有点惊讶完全限定的表名包含 [DataCenterCityName2_DB2OurDatabase],因为我在设置链接服务器连接时没有指定这个,但是数据中心城市的名称是正确的,所以我把它作为进一步的标志链接服务器连接成功。
尽管如此,我也尝试执行删除该级别的完全限定表名:
SELECT *
FROM [DB2OurDatabase].[SchemaX].[TableX]
导致了这个错误。
消息 208,第 16 级,状态 1,第 1 行
无效的对象名称“DB2OurDatabase.[SchemaX].[TableX]”。
我需要做什么来创建一个允许我查询 DB2 数据库中的表的 DB2 链接服务器?这是我的链接服务器属性:
【问题讨论】:
标签: sql-server-2008 db2 ssms