我问的是用INSERT...SELECT语句怎样实现异构数据库之间的复制
请高手作答!谢谢!

解决方案 »

  1.   

    insert OPENROWSET('Microsoft.Jet.OLEDB.4.0',  
     ';Database=C:\Access-Datenbanken\nordwind.mdb',  
     'SELECT * FROM artikel')  (列名1,列名2)
    select 列名1,列名2 from sqlserver表
      

  2.   

    DTS导出,选择视图或查询导出.导入导出向导,数据库->右键->所有任务->导出
      

  3.   

    insert into
    OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
       'c:\你的ACCESS数据库.mdb';'admin';'', 你要插入数据的表)
    select * from 你的SQL SERVER表
    where 时间 between date1 and date2
      

  4.   

    SQL SERVER 和ACCESS的数据导入导出常规的数据导入导出:使用DTS向导迁移你的Access数据到SQL Server,你可以使用这些步骤:   1在SQL SERVER企业管理器中的Tools(工具)菜单上,选择Data Transformation   2Services(数据转换服务),然后选择  czdImport Data(导入数据)。   3在Choose a Data Source(选择数据源)对话框中选择Microsoft Access as the Source,然后键入你的.mdb数据库(.mdb文件扩展名)的文件名或通过浏览寻找该文件。   4在Choose a Destination(选择目标)对话框中,选择Microsoft OLE DB Prov ider for SQL Server,选择数据库服务器,然后单击必要的验证方式。   5在Specify Table Copy(指定表格复制)或Query(查询)对话框中,单击Copy tables(复制表格)。 6在Select Source Tables(选择源表格)对话框中,单击Select All(全部选定)。下一步,完成。 Transact-SQL语句进行导入导出:1.         在SQL SERVER里查询access数据:-- ======================================================SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\DB.mdb";User ID=Admin;Password=')...表名------------------------------------------------------------------------------------------------- 2.         将access导入SQL server -- ======================================================在SQL SERVER 里运行:SELECT *INTO newtableFROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',       'Data Source="c:\DB.mdb";User ID=Admin;Password=' )...表名------------------------------------------------------------------------------------------------- 3.         将SQL SERVER表里的数据插入到Access表中-- ======================================================在SQL SERVER 里运行:insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',  'Data Source=" c:\DB.mdb";User ID=Admin;Password=')...表名 (列名1,列名2)select 列名1,列名2  from  sql表 实例:insert into  OPENROWSET('Microsoft.Jet.OLEDB.4.0',    'C:\db.mdb';'admin';'', Test) select id,name from Test  INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\trade.mdb'; 'admin'; '', 表名)SELECT *FROM sqltablename
      

  5.   

    我是在VB中用代码实现,不是在SQL Server中
      

  6.   

    Dim gDBConn As New ADODB.Connection 
        Dim gSql as String           
        gSql = "Provider=SQLOLEDB.1;Persist Security Info=False;User     ID=sa;pwd=;Initial Catalog=" & 你的数据库名 & ";Data Source=" & 你的服务器名      gDBConn.CursorLocation = adUseClient
    gDBConn.Open gSql
    gSql="SELECT *
    INTO newtable
    FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 
          'Data Source="c:\DB.mdb";User ID=Admin;Password=' )...表名"
    gDBconn.Execute gSql不知道为什么,我用openrowset时数据库提醒我
    “OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。验证失败。”
    高人们指点!
      

  7.   

    我也遇到类似问题了,在从SQL导入到ACCESS时 单单导入INT型数据或者CHAR一般都没有问题
    但将多个字段导入时,会报转换数据类型错误~