try:update  ts
set UserState=2
from OPENDATASOURCE(
         'SQLOLEDB',
         'Data Source=helpsoft-vod;User ID=sa;Password=111'
         ).netmeeting.dbo.UserInfo as ts
where ts.id='166'

解决方案 »

  1.   

    to: vivianfdlpw() 
    这个写法有问题!!提示ts无效
      

  2.   

    update  OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=helpsoft-vod;User ID=sa;Password=111'
             ).netmeeting.dbo.UserInfo
    set UserState=2
    where ts.id='166'就可以了啊!
      

  3.   

    你有没有采用级联表来更新,只更新一个表的内容不需要采用from 如果用了from 很容易引起意外的错误.我在我机器上测试过了,应该可以的!select * from OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=Sestlserver;User ID=sa;Password=111111'
             ).test.dbo.test_02update OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=Sestlserver;User ID=sa;Password=111111'
             ).test.dbo.test_02
    set t_name = 'feng'
    where t_id=1select * from OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=Sestlserver;User ID=sa;Password=111111'
             ).test.dbo.test_02t_id        t_name               
    ----------- -------------------- 
    1           cheng
    2           tpx
    3           mpg(所影响的行数为 3 行)
    (所影响的行数为 1 行)t_id        t_name               
    ----------- -------------------- 
    1           feng
    2           tpx
    3           mpg(所影响的行数为 3 行)