вопрос по SQL

компьютеры программирование базы данных sql

Ситуация: есть некая программа, которая работает с базой данных (пишет/читает что-то там). Раньше она работала с MS SQL 2000 и чувствовала себя хорошо. Сейчас, после переноса баз и юзеров на MS SQL 2005 она продолжает работать, но не позволяет добавлять значения и редактировать их, хотя позволяет удалять.
Получаю EOleException 'Invalid column name 'smn''. Естественно, сначала проверила есть ли такое поле вообще - есть. Начала ковырять код программы, но вдруг подумалось мне, что раз проблемы появляются только при смене сервера, то проблема в настройках сервера..
Может быть кто-то сталкивался с этим, как решали?

Примечание:
AZDesign
в нашем случае второе, ибо записать/редактировать только не дает, всё остальное - пожалуйста. Но такое поле есть, я проверяла. единственное что оно пустое совсем. С этим могут быть проблемы, как вы считаете?
прога моя написана наверное в году 96, а то и раньше, так что пока приходится работать с тем что есть. Вот когда перепишу, тогда OLE использовать не буду, а пока надо чтоб работало)

ise-dvp
сделала. (0 row(s) affected)
не могу, по той причине что с той же самой базой может работать еще десяток программ всяческих, выяснить это пока возможным не представляется, я сейчас переименую и оно всё нафиг упадет.
а о третьем поподробнее, я краем уха слышала что с varchar какие-то проблемы по-моему бывают, но ничего точно не знаю.

нет, не зарезервированное, процедуры вроде тоже нет..

Примечание:
ise-dvp
да дело в том что оно и на сервере-источнике тоже пустое. но там работает. как ни странно%) у него null включено так что он может быть пустым, теоретически..

Примечание:
Werewolf_
можно. когда я его найду в проекте) он там очень смешно формируется, как и строка подключения к серверу, впрочем.
а тот которым я посмотрела что там за поле самый банальный select smn from tablename

Примечание:
foGa
поле не в ключе, но оно действительно пустое.
Werewolf_
ок, завтра утром попробую и отпишусь..

Примечание:
пока вопрос отложился, есть более актуальная задача..
Ответы:
попробуйте
- выполнить запрос на выборку из таблицы с этим полем
- переименовать столбец, соответственно, если есть возможность, изменить название в запросе...
- проверьте тип данных
EOleException - это исключение вызванное сервером OLE, то есть связь с каким-то приложением. Т.е. какой-то файл, который хранится где-то в БЛОБе требует вызвать определенный OLE-сервер, а у него не получается. Или какое-то приложение через OLE-сервер пытается записать в колонку 'smn', а ее нет. Ищите прежде всего в этом углу
А вообще-то хорошее правило - не использовать OLE нигде и никогда. Я от него отказался в 1998 году, так как у каждой версии приложения (главным образом Микрософт) менялся протокол обмена. И со сменой версии приложения гарантированно получал проблемы.
>сделала. (0 row(s) affected)
подозрительно.. то есть SQL сервер в упор не видит этого поля
а можно на текст запроса глянуть?
Дополнение #2
Тогда можно попробовать запрос на это поле с проверкой IS NULL
И еще, это поле не в ключе?
Unikod
Multybite


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.