SQL Server 2005 bigint отсутствует? - PullRequest
3 голосов
/ 29 июня 2010

Я пытаюсь установить столбец как 64-разрядное целое число, но мои единственные доступные опции - tinyint, smallint и int. Куда убежал бигинт?

Примечания. Я использую Access 2008 для доступа к своему SQL Server.

Ответы [ 3 ]

6 голосов
/ 29 июня 2010

Проблема не с SQL Server.В SQL Server 2005 вы можете объявить столбец как bigint следующим образом:

Create Table Table( Col1 bigint )

Проблема в том, что MS Access не распознает bigint как тип данных.

Вот статья о проблеме, в которой обсуждаются некоторые обходные пути при использовании ADO.Вот справочная статья от Microsoft, в которой говорится, что Access все еще не распознает bigint (см. Раздел Сравнение или сопоставление типов данных между базой данных Access и проектом Access ).

2 голосов
/ 29 июня 2010

Access 2007 не имеет типа данных bigint, поэтому вы не видите его в качестве доступного параметра.

Если вам нужно большое целое число, вы можете сохранить его в типе ВАЛЮТА (ДЕНЬГИ в SQL Server) и умножьте или разделите на 10000 для выполнения преобразования.

myCurrency = myBigInt / 10000

myBigInt = myCurrency * 10000
0 голосов
/ 29 июня 2010

Вот таблица , сравнивающая типы данных Access с их эквивалентами ODBC.Нет bigint там.

А вот статья под названием Обработка типа данных bigint SQL Server в Access 2007 с использованием ADO , которая предлагает два подхода к обработке этого: преобразование bigints вvarchars или варианты .Конечно, это вызывает у вас тошноту, но похоже, что они могут решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...