2013-07-16 3 views
1

Это не имеет никакого смысла, но я выбираю данные BIGINT из таблицы и вставляю их в другой столбец BIGINT в другую таблицу (таблицы идентичны, только на разных серверах) и SQL0302N. КОГДА я меняю значение этого столбца bigint на что-то меньшее, исключение уходит.DB2 + C#: Получение ошибки SQL0302N при попытке сохранить значение Bigint

Значение само по себе составляет 2601354496. Другие аналогичные значения также вызывают исключение.

Любые мысли?

+2

Похоже, что целевой столбец на самом деле является INTEGER с диапазоном от -2147483648 до +2147483647 –

+0

Итак, что вы узнали? –

+0

В конце концов проблема была не с BIGINT. См. Мой ответ. Благодаря! –

ответ

1

Проблема совпадения была не с BIGINT, а с VARCHAR. База данных была создана с неправильной сортировкой (UTF8 в пункте назначения, ISO8859 у источника), а некоторые специальные символы были неправильно переведены.

Не было проблем с отображением, но размеры хранилища строк варьировались. И тогда, по-видимому, в зависимости от размера номера, независимо от строки, была выброшена ошибка.

Но правда была: проблема была только со струнами. При редактировании значений через TOAD или IBM Data Studio приложения, по-видимому, фиксировали сопоставления и проблемы исчезли. Но на моем приложении C# этого не произошло.

Я решил воссоздать базу данных правильно, вместо того, чтобы фиксировать данные, и все сработало нормально.

Если только сообщения об ошибках были более ясным и описательным ...

Благодаря усилиям всех.

 Смежные вопросы

  • Нет связанных вопросов^_^