Есть такая прога: Риск называется. Кто знаком с ней и работает в ней, плиз, скажите, последнее 114 обновление как ставить? Мучились мы тут мучились, поставили все-таки. Но теперь программа, не пускает никуда! Даже в раздел "Администрирование" под логином SA не можем попасть. Ругается вот так: SQLQueryUserPasport: Type mismatch for field 'osn_obuch', expecting: String actual: SmallInt. Чего делать? HELP! Очень срочно надо!
Я не знаю что это за Риск такой, но судя по ошибке вы базы обновили, а клиента нет. Или наоборот. В данном случае налицо ошибка несовпадения типов.
А о чем свидетельствует эта ошибка: -- Key violation. [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert duplicate key row in object 'stud' with unique index 'studuniq'. [Microsoft][ODBC SQL Server Driver][SQL Server]The statement has been terminated.
Проблемы с английским? Все же ясно абсолютно: сервер не может инсертить в таблицу, потому что уже есть запись с таким ключем. Т.е. опять по причине, что версия клиента и базы не совпадает. Ну или как вариант просто глючный клиент, что, я думаю, маловероятно, учитывая, что вы там что-то апгрейдили.
В общем объясняю ситуацию: существует прога КИС УЗ "РИСК", с помощью которой ведется весь документооборот в некоторых представительствах и филиалах России одного института. Кроме всего прочего там есть база со списком всех студентов. Каждому студенту присвоен свой личный номер. Раз в год приходит обновление, в котором содержатся все изменения и поправки. В последнем обновлении личный номер каждого студента должен измениться (вместо 8-значного стал 9-значный). Вот при обновлении возникает такая ошибка, будто не возможно изменить идентификационное поле 'studuniq' объекта 'stud'. Я хочу спросить: может это SQL глючит? Можно руками подправить размер поля?
Если есть сомнения в работе сиквела надо поставить все свежие сервиспаки на операционку и собственно сиквел. Только не лишним будет предварительно связаться с разработчиками и выяснить под какой сервиспак сиквела тестировалась база. Поправить поле руками конечно можно, но надо понимать что могут быть определенные последствия. Запускаешь Enterprise Manager, выбираешь нужную базу, далее в Tables на нужной таблице правой кнопкой и Disign Table. Только боюсь этот studuniq у тебя будет почти во всех таблицах, в явном или неявном виде. Чтобы поправить все руками надо будет долго и нудно работать с профайлером.
Это однозначно не SQL глючит. Либо ошибка в SQL запросе, которым обновление производится, либо до обновления у тебя было не все ладно с базой. В данной ситуации единственно верное решение - связаться с разработчиком. В противном случае, полазив сейчас ручками "незнаю где, и сделав незнаю что", ты можешь получить полностью уваленную базу...