Access轉Sql Server問題 實例說明
來源:程序員人生 發布時間:2014-03-19 23:12:44 閱讀次數:3425次
今天幫同學改一個老的系統作為畢業設計
這系統技術絕對落后asp+access
為了應付老師的驗收
然后這同學編程又不是很好
而其到了最后時刻才想到開始做畢設
于是找到了我
我看了他不知從哪里搞來的代碼
跑了下
還行能跑
過兩天就要驗收程序了
把asp改成 是沒時間了
于是我提議改下數據庫算了
于是決定把access轉成sql server
看似一個公司的產品
轉起來問題到一大堆
現總結如下
先說怎么轉移數據
打開sqlserver的企業管理器
建立張表
然后右擊那張表
點導入數據
然后選中數據源(我這里就是access的mdb文件)
一路next
基本沒什么問題
數據就這樣導好了
但問題沒那么簡單
sql server和access的機制有很大的不同
由于SQL
里面沒有自動編號
所以你的以自動編號設置的字段都會變成非空的字段
這就必須手工修改這些字段
并把他的標示選擇是
種子為
增量為
另外
ACCESS
轉換成SQL
后
原來屬性為是/否的字段將被轉換成非空的bit
這時候你必須修改成自己想要的屬性了;
另外
大家要注意對時間函數的把握
ACCESS與SQL是有很多不同的
ACCESS轉MS SQL數據庫的幾點經驗
ACCESS的數據庫中的自動編號類型在轉化時
sql server并沒有將它設為自動編號型
我們需在SQL創建語句中加上identity
表示自動編號!
轉化時
跟日期有關的字段
SQL SERVER默認為smalldatetime型
我們最好將它變為datetime型
因為datetime型的范圍比smalldatetime型大
我遇見這種情況
用smalldatetime型時
轉化失敗
而用datetime型時
轉化成功
對此兩種數據庫進行操作的sql語句不全相同
例如
在對ACCESS數據庫進行刪除紀錄時用
delete * from user where id=
而對SQL SERVER數據庫進行刪除是用
delete user where id=
日期函數不相同
在對ACCESS數據庫處理中
可用date()
time()等函數
但對SQL SERVER數據庫處理中
只能用datediff
dateadd等函數
而不能用date()
time()等函數
在對ACCESS數據庫處理中
sql語句中直接可以用一些VB的函數
像cstr()函數
而對SQL SERVER數據庫處理中
卻不能用
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈