MS Access Int и Sql Server Big INT - PullRequest
       0

MS Access Int и Sql Server Big INT

1 голос
/ 07 августа 2011

У нас есть база данных в Sql Server 2005 с MS Access в качестве внешнего интерфейса.Серверная часть изначально была в доступе, а затем перенесена на сервер Sql.

Одно из полей в таблицах на сервере SQL имеет тип данных int с первичным ключом.Теперь я считаю, что доступ к типу данных int имеет ограничения, равные 32767, являющемуся наибольшим целым числом.

Поле имеет автоинкремент, установленный с первичным ключом, и достигло значения 32767.

Я попытался изменить тип данных с int на bigint, но при доступе к внешнему интерфейсу начали выдавать все видыошибок.Одной из ошибок является «Несоответствие типов данных».

Спасибо, Йоги.

1 Ответ

2 голосов
/ 07 августа 2011

В SQL Server

  • smallint подписывается 16-битным согласно вашим комментариям (от -32768 до +32767)
  • int имеет 32-разрядную подпись, поэтому от -2,1 до +2,1 млрд.
  • bigint подписан 64-битным, так что - огромный + огромный

Вы можете легко получить это из MSDN . Не нужно "верить"

Что еще более важно, вам не нужно было вносить какие-либо изменения в SQL Server, и вам не нужно было генерировать эти ошибки. Ошибки, вероятно, происходят от ошибок внешнего ключа или таких, которые зависели от того, является ли этот столбец целым.

В любом случае, если действительно smallint и вы достигли 32767, вы можете просто изменить начальное значение и приращение (-32768, 1), чтобы использовать другую половину диапазона ...

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