我想將列設置爲64位整數,但我唯一可用的選項是tinyint,smallint和int。 bigint跑到哪裏去了?SQL Server 2005 bigint丟失?
筆記:我使用Access 2008訪問我的SQL Server。
我想將列設置爲64位整數,但我唯一可用的選項是tinyint,smallint和int。 bigint跑到哪裏去了?SQL Server 2005 bigint丟失?
筆記:我使用Access 2008訪問我的SQL Server。
問題不在於SQL Server。在SQL Server 2005中,你可以聲明一個列爲BIGINT像這樣:
Create Table Table(Col1 bigint)
的問題是,MS Access不能識別bigint
作爲數據類型。
這是關於這個問題的article,它討論了使用ADO時的一些解決方法。以下是來自Microsoft的help article,其中指出Access仍然無法識別bigint(請參閱比較或映射Access數據庫和Access項目之間的數據類型)。
謝謝,我想它與使用Access有關。 – isorfir 2010-06-29 16:52:57
訪問2007年沒有bigint數據類型,這就是爲什麼你沒有看到它作爲一個可用的選項。
如果您需要一個很大的整數,您可以將它存儲在CURRENCY類型(在SQL Server中爲MONEY)中,然後乘以或除以10000以執行轉換。
myCurrency = myBigInt/10000
myBigInt = myCurrency * 10000
Here's a table比較訪問的數據類型與他們的ODBC等價物。那裏沒有bigint
。
這裏有一篇名爲Handling the SQL Server bigint data type in Access 2007 using ADO的文章,它提供了兩種方法來處理這個問題:將bigint轉換爲varchars或變體。當然,這些讓你感到不安,但他們聽起來像是可以處理你的問題。
其稱爲some_arbitrary_name_thats_inconsistent_between_versions_and_all_other_microsoft_technologies – 2010-06-29 16:43:29
@Andrew:不是。 MSACCESS中沒有BigInt等價物。 – 2010-06-29 17:00:51