insert pcate.dbo.tb1 select * from OPENDATASOURCE('SQLOLEDB','data source=IP;user id=user;password=password').chaowei.dbo.tb2这语句执行后出现了以下错误!仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'pcate.dbo.tb1' 中为标识列指定显式值。我加了所有的字段后,还是有错误?
insert pcate.dbo.tb1(字段1,字段2,...) select * from OPENDATASOURCE('SQLOLEDB','data source=IP;user id=user;password=password').chaowei.dbo.tb2错误为:
当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'tb1' 中的标识列插入显式值。
如何改正!能够实现copy表到服务器?

解决方案 »

  1.   

    insert pcate.dbo.tb1 select * from OPENDATASOURCE...把此处的"*"替换成自增标识列之前的其他字段列表。
      

  2.   

    set identity_insert  tb1 on
    insert pcate.dbo.tb1(字段1,字段2,...) 
    select * from OPENDATASOURCE('SQLOLEDB','data source=IP;user id=user;password=password').chaowei.dbo.tb2
    set identity_insert  tb1 off
      

  3.   

    把  wgsasd311(自强不息) 写的修改后
    set identity_insert  tb1 on
    insert pcate.dbo.tb1(字段1,字段2,...) 
    select 字段1,字段2,... from OPENDATASOURCE('SQLOLEDB','data source=IP;user id=user;password=password').chaowei.dbo.tb2
    set identity_insert  tb1 off影响的行数为0,但是tb1有几条记录,tb2只有一条?