在远程服务器192.168.0.242上有表t1,并有一个自增字段 ID
本地数据库没有表,现在 我要把远程表t1 复制到本地本我用以下方式
SELECT *
INTO [t1]
FROM OpenDataSource( 'SQLOLEDB','Database=CQFFSMS_QJ;Server=192.168.0.193;User ID=sa;Password=sa;').CQFFSMS_QJ.dbo.[t1]
成功 本地生成了一张一样一样的表t1
但是: 自增字段 ID 却失效变成了不自增的字段
问题,我想用openDataSource导一张表程表,但要自增字段类型不要失效有什么办法,
其实描述:如果来源表不是在远程服务器上,而是在本地,那么用select * into 过来的表,自增字段是有效的.只是用openDataSource的方式导过来的表才会导致自增字段失效

解决方案 »

  1.   

    如果用DTS 数据库对象复制可以。
      

  2.   

    ͬÒâ
      

  3.   

    先导结构:
    select Top 0 *
    into t1
    FROM OpenDataSource( 'SQLOLEDB','Database=CQFFSMS_QJ;Server=192.168.0.193;User ID=sa;Password=sa;').CQFFSMS_QJ.dbo.[t1] 再添加数据:
    insert t1
    select * FROM OpenDataSource( 'SQLOLEDB','Database=CQFFSMS_QJ;Server=192.168.0.193;User ID=sa;Password=sa;').CQFFSMS_QJ.dbo.[t1] 
      

  4.   

    还有 楼上的 lt1129(修理地球) 兄弟 啊,你到底测试过你的代码没有?先导表结构说得轻巧,我试了,表结构过来的时候ID字段已经使自增字段失效了
      

  5.   

    结构导好了,
    导数据的时候自增字段不要加在insert里,兄弟们
    我又不是信口开河,这种方法不知道用了多少次了
      

  6.   

    我试了下,没问题.
    select * into test_rpc from opendatasource('sqloledb','data source="192.168.188.9";user id=sa;password="";').test.
    dbo.test_rpc
      

  7.   

    into导的只是表数据~~~关系~约束~索引都会没有的!!!
      

  8.   

    data source="192.168.188.9";user id=sa;password=""
    和server  uid pwd 是一因事,或者你的ado版本不高,我用的是2003,或者是不是你的远程服务器就是本地,这样不行了,请有一台真远程服务器来测试
      

  9.   

    我用的就是远程的啊.
    sqlserver2000+windos2003