[英]Recommendations on using SQL Server GUID from MS Access
我正在將現有的MS Access后端升級到SQL Server 2008,因為我們想要使用SQL Server Merge復制 ,所以我必須將所有當前主鍵(當前標准自動增量整數)更改為GUID。
所以這里是問題:
Chris說的是(1)您不需要GUIDS進行合並復制,(2)只有一種GUID類型,但您必須知道:
rowguid
。 當然,如果每個表中已經有這樣的GUID / newSequentialId,SQL將使用它。 BUt我不建議你將復制GUID與PK GUID'混合':你可以將GUID類型的所有主鍵聲明為'newSequentialIds',但是(a)你將失去在客戶端生成GUID值的可能性 - 見下文 - 和(b)你的PK將是“可預測的”,這個想法讓我感到不舒服...... 關於從整數到GUIDS的更改,我建議您編寫一個分步模塊,該模塊將:
花點時間編寫這段代碼。 在正常工作之前,您將多次使用它。 您應該從DAO對象,tabledef,索引等中獲利。 請記住,您必須始終能夠返回起點,因此不要忘記初始備份過程。
那么從VBA操縱GUID呢? 有一些事情需要了解:
? myForm.myControl
?????
? myForm.recordset.fields("myFieldName")
{000581EB-9CBF-418C-A2D9-5A7141A686CC}
myFirstRecordset.FindFirst "stringFromGUID(myGuidId) = " & StringFromGUID(mySecondRecordset.Fields("myGuidId").Value)
這可能略微偏離主題。 但是,您不必使用GUID進行合並復制。 您仍然可以使用自動增量整數並將不同的范圍分配給不同的數據庫實例。 這樣,將不會生成具有相同ID的行。
此外,SQL 2008中只有一個GUID類型字段 - uniqueidentifier
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.