使用 MSSQL2005 的匯入資料功能,連接 MSSQL6.5 用 OLE DB Provider 的資料連接

碰到下列問題

作業已停止…
– 建立 TransferProvider。 (成功)
– 建立破壞性 SQL 的暫存檔。 (成功)
– 建立建設性 SQL 的暫存檔。 (成功)
– 建立資料表中繼資料的 XML 暫存檔案。 (成功)
– 使用檔案和來源/目的地連接資訊來設定 TransferProvider。 (成功)
– 使用 TransferProvider 執行傳送。 (錯誤)
 訊息
 * 錯誤 : errorCode=-1071636471 description=發生 OLE DB 錯誤。錯誤碼: 0x80040E14。
 有 OLE DB 記錄可用。 來源: “Microsoft OLE DB Provider for SQL Server”  Hresult: 0x80040E14  描述: “Line 1: Incorrect syntax near ‘[‘.”。
  helpFile=dtsmsg.rll helpContext=0 idofInterfaceWithError={8BDFE893-E9D8-4D23-9739-DA807BCDC2AC} (Microsoft.SqlServer.DtsTransferProvider)
 
 如需說明,請按一下: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
 
– 執行破壞性 SQL。(卸除資料表) (成功)
– 執行建設性 SQL。(建立資料表) (成功)
– 建立 [FBUSA].[ACIPDF] 的暫存資料表傳送封裝 (已停止)
– 執行 [FBUSA].[ACIPDF] 的傳送封裝 (已停止)
– 正在複製到  (已停止)
因為SQL2005撈資料時會將資料表的SQL語法設為

select [F1],[F2],… from [DBName].[Schema].[TBName]

的格式,而MSSQL6.5不支援此種語法格式,所以發生錯誤。

所以改用 MSSQL2000 的匯出匯入精靈來處理,結果資料的傳輸順利完成。

不過主鍵、索引、預設值、約束條件的設定就要全部手動重建。