請問有什麼好辦法將Access數據庫導出到SQL Server數據庫,要求速度要快!請貼出代碼

解决方案 »

  1.   

    方法1:
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\test.mdb"’如果这张表不存在,你可以使用如下代码:
    strSQL = "SELECT * INTO [odbc;Driver={SQL Server};Server=yoki;Database=Northwind;UID=sa;PWD=;].table1 FROM table1"
    cn.Execute strSQL, , adExecuteNoRecords'如果表已经存在,您需要添加进数据库,可以使用如下代码:
    strSQL = "INSERT INTO [odbc;Driver={SQL Server};Server=shayoki;Database=Northwind;UID=sa;PWD=;].Customers2 SELECT * FROM [Sheet1$]"
    cn.Execute strSQL, , adExecuteNoRecords
    方法2:
    --表不存在
    SELECT * into table1
    FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
       'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', Orders) 
    --表存在
    insert into table1
    SELECT *
    FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
       'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', Orders) 推荐用第2种方法
      

  2.   

    注意:方法2的连接应该是到sqlserver数据库的连接(第1种方法是到access的连接)
      

  3.   

    要SQL中设计一个被图。用 OPENROWSET 函数。
      

  4.   

    用SQL Server自带的数据导入导出向导就行了
      

  5.   

    請問 yoki(小马哥):
      按照你的第二種方法
      SELECT *
      FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
         'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', Orders) 
      出現以下的錯誤:
        執行階段錯誤'-2147217900(80040e14)':
           [Microsoft][ODBC SQLServer Driver][SQL Server]Ad hoc access to
           OLE DB provider 'Microsoft.Jet.OLEDB.4.0' has been denied.You must
           access this provider through a linker server.
        能幫我解解釋一下是什麼錯誤嗎?怎麼解決?謝謝!
      

  6.   

    你是在哪执行的?先在查询分析器中执行成功后再copy到程序中,另外需要Jet4.0
      

  7.   

    用SQL Server自带的数据导入导出向导就行了//若沒有Jet4.0,該用什麼方法?
    安装mdac2.6