Я пытаюсь установить столбец как 64-битное целое число, но моими доступными параметрами являются tinyint, smallint и int. Куда заканчивались bigint?Отсутствует SQL Server 2005?
Примечания: Я использую Access 2008 для доступа к моему SQL Server.
Я пытаюсь установить столбец как 64-битное целое число, но моими доступными параметрами являются tinyint, smallint и int. Куда заканчивались bigint?Отсутствует SQL Server 2005?
Примечания: Я использую Access 2008 для доступа к моему SQL Server.
Проблема не в SQL Server. В SQL Server 2005, вы можете объявить столбец как BIGINT так:
Create Table Table(Col1 bigint)
Проблема заключается в том, что MS Access не распознает bigint
как тип данных.
article о проблеме, которая обсуждает некоторые обходные пути при использовании ADO. Вот help article от Microsoft, в котором говорится, что Access по-прежнему не распознает bigint (см. Раздел по Сравнение или сопоставление типов данных между базой данных Access и проектом Access).
Спасибо, я подумал, что это имеет какое-то отношение к использованию Access. – isorfir
Access 2007 не имеет типа данных bigint, поэтому вы не видите его в качестве доступной опции.
Если вам нужно целое число, которое является большим, вы можете сохранить его в типе CURRENCY (ДЕНЬГИ на SQL Server) и умножить или делить на 10000 для выполнения преобразования.
myCurrency = myBigInt/10000
myBigInt = myCurrency * 10000
Here's a table сравнивающих типов данных Access с их ODBC эквивалентами. Нет bigint
есть.
И вот статья под названием Handling the SQL Server bigint data type in Access 2007 using ADO, которая предлагает два подхода к обработке этого: конвертировать bigints в varchars или варианты. Несомненно, это делает вас тошнотворными, но они звучат так, как будто они могут справиться с вашей проблемой.
его вызываемый some_arbitrary_name_thats_inconsistent_between_versions_and_all_other_other_microsoft_technologies –
@Andrew: Не совсем. В MSACCESS нет эквивалента BigInt. –