"Арифметическая операция привела к переполнению". получить эту ошибку в ASP.Net после преобразования в проект Azure
Я работаю над приложением asp.net. Сейчас я работаю над тем, чтобы переместить его на сервер Windows Azure. После преобразования проекта в проект Windows Azure он начинает давать мне ошибки при доступе к базе данных. Я могу получить доступ к данным, но проблема возникает везде, где я выбираю столбцы типа longblob и битовые столбцы.
При запуске приложения как обычного приложения asp.net все работает отлично, но когда я запускаю его как приложение Azure из моей Visual Studio, оно начинает выдавать "Арифметическая операция привела к переполнению". при заполнении таблицы данных. Проведя некоторые исследования для этого, я обнаружил, что этот тип ошибки возникает, когда в команде select выбран какой-то особый тип столбцов. В моем случае специальными типами данных являются longblob и bit[1] в таблице базы данных mySQL.
Пожалуйста, предложите решение, чтобы сделать эту работу в среде Windows Azure тоже.
5 ответов
Это известная проблема для гибридного подключения для доступа к серверу SQL.
Пожалуйста, следуйте временному исправлению, указанному здесь https://blogs.msdn.microsoft.com/waws/2016/05/17/hybrid-connection-error-with-sql-server-system-overflowexception-arithmetic-operation-resulted-in-an-overflow/
Если у вас возникли проблемы с гибридными подключениями Azure, попробуйте удалить KB3142036 с сервера, на котором запущен диспетчер гибридных подключений. Кажется, я решил проблемы с подключением к SQL Server.
Вот что исправило это для меня.
Мое веб-приложение Azure использовало гибридное соединение Azure для доступа к моему локальному серверу SQL. На сервере, на котором работает HCM, также выполняется резервное копирование Azure. Один из моих администраторов обновил агент восстановления Azure на этом сервере.
После всех возможных попыток удаление самой последней версии обновления агента служб восстановления Azure решило проблему. Мое веб-приложение смогло получить доступ к моим локальным базам данных без проблем.
У меня сегодня та же проблема, что и прошлой ночью. Приложение не обновлялось уже несколько недель. Все, что я прочитал, указывает на то, что оно связано с использованием int32, а int слишком велик, но страница, на которой происходит сбой приложения, не использует int в коде. Я отключил все SQL на странице, и он все еще падает. Я думаю, что это что-то на лазурной стороне. Положив в билет с ними. Я буду держать вас в курсе.
У меня была такая же ошибка при использовании гибридного соединения Azure с локальным SQL Server. У меня не было агента резервного копирования Azure, установленного на локальном сервере, однако Windows Server 2012 был настроен на автоматическое обновление, и было много обновлений, которые были выпущены 10 мая 2016 года.
На данном этапе я не уверен, какое именно обновление вызвало проблему, но я сократил его до 3146978, 3146751, 3146604, 3145384, 3144850, 3142026, 3135998, 3134179, 3125424, 3103616 или 3145432.