2010-06-29 5 views
3

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

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

+0

его вызываемый some_arbitrary_name_thats_inconsistent_between_versions_and_all_other_other_microsoft_technologies –

+0

@Andrew: Не совсем. В MSACCESS нет эквивалента BigInt. –

ответ

6

Проблема не в SQL Server. В SQL Server 2005, вы можете объявить столбец как BIGINT так:

Create Table Table(Col1 bigint) 

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

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

+0

Спасибо, я подумал, что это имеет какое-то отношение к использованию Access. – isorfir

1

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

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

myCurrency = myBigInt/10000 

myBigInt = myCurrency * 10000 

http://sqlserver2000.databases.aspfaq.com/what-are-the-main-differences-between-access-and-sql-server.html

0

Here's a table сравнивающих типов данных Access с их ODBC эквивалентами. Нет bigint есть.

И вот статья под названием Handling the SQL Server bigint data type in Access 2007 using ADO, которая предлагает два подхода к обработке этого: конвертировать bigints в varchars или варианты. Несомненно, это делает вас тошнотворными, но они звучат так, как будто они могут справиться с вашей проблемой.