--核心出错代码如下,其中db是数据库名,tb是表名
...
print 3
--各种表初始化
if @province='浙江'
begin
set @table3='db..tb'
print 4
end
...--执行后如下:
/*
3
消息 8501,级别 16,状态 3,第 1 行
服务器 '......' 上的 MSDTC 不可用。
*/--解释:我只是想动态sql下面操作的时候拼上这个表,怎么会不能用呢?我直接动态sql别的都可以啊?奇怪
--好像不是MSTDC没打开的原因啊,求解!
且链接远程服务器已经创建了且是通的
执行到此语句就断了,执行前我把动态sql拼出来的语句打印出来了,如下insert into db36.cmpp.dbo.tb_Black(mobile,spnumber,flag,operator) select '13211111111','11111111',1,'ig'直接执行是可以执行成功的,但放到过程里,到这就断了,纳闷啊?
exec sp_addlinkedserver ...
exec sp_addlinkedsrvlogin ...
我是这样建的持久的啊,以前在别个过程里直接调用select X from db36.cmpp.dbo.tb_Black都是可以的。动态拼了后却不行了?
时如果用动态sql就报错
用普通sql就没问题。
why?求救啊!!!!!
为什么要这么坑爹