首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

Access 遷移 SQL Server 完整避坑指南:自增、預設值、日期、Bit 布林型別

     編輯:關於SqlServer

遷移背景

曾成功將 SQL Server → Access,反向遷移 Access → SQL Server 卻遭遇資料顯示異常。參考百度文檔並實測總結核心 4 大調整項。

四大必改項目

1. 自動編號 → Identity (自增)

Access AutoNumber 匯入後變為普通 INT,需手動開啟 Identity:

  • SSMS 設計表 → 選欄位 → 資料行屬性 → 識別規格 → 是。
  • 種子/增量預設 1/1。

2. 預設值遺失重建

Access Default Value 不會隨資料移動。逐表檢查:

  • 整數欄位常見預設 1 或 0。
  • SSMS → 欄位屬性 → 預設值或繫結 填入 (1) 等。
  • 缺少預設值導致 INSERT 失敗 (NOT NULL 違規)。

3. 日期型別統一為 DATETIME + GETDATE()

  • Access 日期常存為字串,匯入後型別混亂。
  • 統一改 DATETIME,預設值設 (GETDATE()) 取得當下時間。
  • 解決文章發布時間異常、排序錯誤。

4. Yes/No (布林) → BIT (1/0) + 程式碼全域替換

Access Yes/No 匯入為 BIT (1/0),但舊程式碼 (ASP/VBScript) 寫 =True/False 或 =Yes/No。

  • SQL 語句中:WHERE Recycle = True → WHERE Recycle = 1。
  • Dreamweaver 批次替換技巧:
    搜尋 Recycle=True 替換 Recycle=1 (帶欄位名避免誤傷 JS)。
  • 非 SQL 語句邏輯判斷 (VBScript If Recycle Then) 暫保留,後續測試相容。

遷移後驗收清單

  1. 所有主鍵 Identity 正常遞增。
  2. INSERT 未指定欄位皆有預設值、不報錯。
  3. 日期欄位型別一致、預設 GETDATE()、前端顯示正常。
  4. 布林邏輯查詢結果與 Access 期一致。
  5. 外鍵/索引/檢視/預存程序完整對應。

經驗結語

無萬能傻瓜工具,必須理解型別映射差異、逐表驗證。百度文檔提供結構化檢查表,建議下載對照執行。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved