我让我们的供应商为我们的服务器(SQL Server 2000)创建了一个链接服务器(SQL Server 2008)。
这是对供应商将数据类型更改为varchar(max)
时遇到的问题的回应。我被告知我应该创建一个从2008年到2000年的链接来解决这个问题。现在我已完成此任务,当我运行查询链接到SQL Server 2000上的表时,我收到此错误:
Msg 208,Level 16,State 1,Line 8 无效的对象名称 'dbo.tbl_QClients'。链接的服务器 拥有此表的权限。
这基本上就是我的查询;
Select
Col1,
Col2,
Col3,
...
INTO
#temptable
FROM
tbl_on_SQL2000
...
它比这更复杂(多个连接),但这基本上是查询。我找到的一件事是当我从查询中删除INTO #temptable
时,它不会给我一个错误。有什么想法吗?
谢谢你的时间。
此致 奥斯卡
答案 0 :(得分:0)
检查你是否有写权限,SELECT ... INTO创建一个新表,这很可能是为什么它会给你一个错误。
答案 1 :(得分:0)
尝试在插入之前定义临时表...
CREATE #temptable (
blah,
blah,
blah
)
INSERT INTO
#temptable
SELECT
blah
FROM
blah
将表从一台服务器连接到另一台服务器的表时,我经常遇到“意外”行为。主要是因为SQL擅长从远程服务器提取数据[它经常被拉成一个大的集合],但是很差并且将数据推送到远程服务器[它通常一次只能完成一条记录]。因此,我倾向于通过查询重新构造更小更简单的方法,获得我期望的行为和性能。