更新:问题是col1是hiereachyid类型,甚至选择也没有用。
大家好,
我收到此错误 -
在分布式查询中不允许使用CLR类型公开列的对象。请使用传递查询来访问远程对象“RemoteDb”。“dbo”。“RemoteTable”'。
我已经设置了链接服务器[RemoteServer.dev.com]
。我试图从远程表执行批量插入到当前表中这样的事情 -
INSERT INTO [CurrentDb].[dbo].[Mytable]
(
col1,
col2
)
SELECT
col1,col2
FROM [RemoteServer.dev.com].[RemoteDb].[dbo].[RemoteTable]
任何人都可以帮帮我..谢谢。
答案 0 :(得分:16)
如错误所示,由于数据类型的原因,您需要在此处进行传递查询。试试这个:
INSERT INTO [CurrentDb].[dbo].[Mytable]
(
col1,
col2
)
SELECT col1, col2
FROM OPENQUERY([RemoteServer.dev.com], 'SELECT col1, col2 FROM [RemoteDb].[dbo].[RemoteTable]')