關於sql2005下建立的資料庫,如需要匯入到sql2000下使用要怎麼辦。
sql2005的語法和sql2000的語法有所不同,試了幾次發現資料庫無法使用備份和附加的方法轉換到sql2000。必須先轉換成指令碼檔案,然後在2000中用這個指令碼建立目標庫,再用資料匯入/匯出把資料從2005導到2000即可,按sql2005提供轉換到sql2000的方法,經過自定義生成的物件。如果想直接restore或附加應該是不行的, 用指令碼+導資料肯定沒有問題。
以下是sql2005轉到2000的步驟:
1. 生成for 2000版本的資料庫指令碼
2005 的manger studio
-- 開啟"物件資源管理器"(沒有的話按f8), 連線到你的例項
-- 右鍵要轉到2000的庫
-- 任務
-- 生成指令碼
-- 在"指令碼嚮導"的"選擇資料庫"中, 確定選擇的是要轉到2000的庫
-- 勾選"為所選資料庫中的所有物件編寫指令碼"
-- 在接下來的"選擇指令碼選項"中, 找到"為伺服器版本編寫指令碼"項, 選擇"sql server 2000"
-- 其他選項根據需要設定
-- 最後把指令碼儲存到乙個 .sql 指令碼檔案
2. 在2000中建立目標資料庫
在查詢分析器(或2005的manger studio在開啟指令碼檔案), 連線到sql server 2000,執行上面生成的指令碼.以建立乙個新的資料庫
3. 將資料從2005導到2000
2005 的manger studio
-- 開啟"物件資源管理器"(沒有的話按f8), 連線到你的例項
-- 右鍵要轉到2000的庫
-- 任務
-- 匯出資料
-- 在"sql server 匯入和匯出嚮導"的"選擇資料來源"步驟中, 確定選擇的是要匯出的資料庫
-- 在"選擇目標"步驟中, 連線到 2000, 並選擇步驟2新建的庫
-- 在"選擇源表和源檢視"中, 選擇所有的表
-- 最後完成
把sql2005下選用生成sql2000的指令碼在sql2000下使用,結果出現了一些錯誤:
不知道是不是我的方法有問題,居然按微軟的方法生成的指令碼還是有錯誤,接下來我把with (ignore_dup_key = off) on [primary]去掉,語法是沒有錯誤了,但還是出現了兩個錯誤,系統提示未能找到儲存過程 'sys.objects',列名 'object_id' 無效,還要把sys.objects替換成dbo.sysobjects,object_id替換成id (把object_去掉)然後再執行才能正常。
這是乙個簡單的表,相關定義不多,如果定義約束、因子填充等條件更多錯誤,沒辦法,暫時找不到解決的方法只能手工修改了,乙個字,累……
Excel資料匯入到SQL 2005
前段時間由於工作需要,設計了乙個基於infopath sql的查詢系統,設計完成後,突然發現查詢系統所需要的原始資料都是存放在excel文件,如果將每條記錄重新輸入到sql中,那過程將非常繁瑣,通過在網路查詢得到二種方法,但過程還是不太方便。現將以下幾種方法彙總以下 一 在程式中,用ado.net。...
sql 2005 匯入到 sql 2000的步驟
p.s.不用試圖在sql2000服務管理器上面註冊sql2005的遠端資料庫伺服器,只能先從sql2005上面匯出適合sql2000的建表指令碼,在sql2000上建庫建表,然後利用sql2000的匯入和匯出嚮導,將資料從2005匯入到2000當中。2005轉到2000的步驟步驟 1.生成for 2...
實現Excel資料匯入到SQL2005中的方法
前段時間由於工作需要,設計了乙個基於infopath sql的查詢系統,設計完成後,突然發現查詢系統所需要的原始資料都是存放在excel文件,如果將每條記錄重新輸入到sql中,那過程將非常繁瑣,通過在網路查詢得到二種方法,但過程還是不太方便。現將以下幾種方法彙總以下 一 在程式中,用ado.net。...