Проблема среды SQLServer, SQLError 207 Неверное имя столбца sqlstate 42s22 - PullRequest
1 голос
/ 12 марта 2012

В настоящее время мы сталкиваемся с проблемой среды контроля качества программного обеспечения, которую мы написали и распространили. У меня нет доступа к их системе, поэтому единственная информация, которую я могу получить, - это какие журналы сервера я могу почерпнуть у перегруженных и перегруженных системных администраторов. По политическим причинам я должен сделать это правильно с первого раза. Все глаза на меня.

В нашей внутренней тестовой среде мы используем SQLServer версии 10.50.1600. Приложение представляет собой веб-приложение на Java, использующее Hibernate 3.5.5 + c3p0 0.9. Недавно нам пришлось добавить столбец базы данных, чтобы исправить ошибку, это в основном логический флаг, который обозначает удаление. Вот столбец, который я добавил в таблицу. Этот однострочный сценарий был частью пакета развертывания, который был доставлен клиенту.

alter table foo.bar add expired tinyint not null default 0;

Я добавил в приложение следующее отображение Hibernate:

<property name="expired" type="boolean">
    <column name="expired" precision="1" scale="0" not-null="true" />
</property>

Проведено модульное тестирование, проверка кода, проверка интеграции, контроль качества принят на месте, упакован и доставлен клиенту. Клиент правильно применил обновления и предоставил скриншоты, подтверждающие это. Столбец существует. Сбой приложения со следующим исключением в журналах:

2012-03-09 14: 50: 18,374 ПРЕДУПРЕЖДЕНИЕ [org.hibernate.util.JDBCExceptionReporter] (ajp - ####) Ошибка SQL: 207, SQLState: 42S22 2012-03-09 14: 50: 18,374 SEVERE [org.hibernate.util.JDBCExceptionReporter] (ajp - ####) Недопустимое имя столбца с истекшим сроком действия.

Единственное заметное различие между этими двумя средами заключается в том, что они работают под управлением SQLServer версии 10.0.4000. Их администраторы баз данных, возможно, также сделали это другими способами, о которых они не сказали мне. Вы видите здесь связь или у вас есть какой-либо другой совет о том, в чем может быть проблема? Может ли это быть проблемой набора символов?

1 Ответ

3 голосов
/ 12 марта 2012

Я понял, в чем проблема.

Когда я сказал это в вопросе, это было явно неверно.

Столбец существует.

Столбец в этой среде не существовал.Администраторы баз данных давали мне информацию о неправильной среде.

Примите это как урок, ребята.Не создавайте веб-приложения для распространения среди клиентов, чтобы они могли размещаться на своих собственных серверах.Если вы можете помочь, разместите свои собственные веб-приложения на своих серверах, чтобы иметь полный контроль над ним.:)

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