2010-03-05 5 views
0

Я мог бы не жалеть парней - вопрос был очень неправильным. Как заметили вы, ошибка связана с тем, что колумбовое имя с этим именем не существует. Ошибка и сообщение вызваны несогласованностью между промежуточным сервером и производственным сервером. Но ошибка была обнаружена вашими ответами, так много, большое спасибоРазница SQL Server 2008/2000, использующая в качестве имени столбца зарезервированное ключевое слово


следующее заявление:

select [user] from bookings 

ставит меня в неприятности. Обратите внимание: квадратные скобки были размещены вокруг зарезервированного ключевого слова. Как вы можете видеть, несчастливо зарезервированное ключевое слово было выбрано для имени столбца (конечно, пользователь), но в предыдущем приложении, запущенном в SQL Server 2000, запрос выполнялся без ошибок.

К сожалению, в SQL Server 2008 - в какое приложение портировано - поведение отличается, оно жалуется и испускает ошибку. Изменение таблицы базы данных может быть ужасной головной болью, потому что необходимо внести множество изменений в db и код. Есть способ выполнить запрос, сохраняющий имя столбца?

Спасибо!

+4

сообщение об ошибке полезно – Andrey

+0

вы ** 200% уверены **, что в вашей новой таблице есть столбец с именем [пользователь] ?? Из моего ограниченного итальянского языка я бы сказал, что это именно то, что говорит ошибка: столбец недействителен, например. он не существует .... –

ответ

0

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

CREATE TABLE [dbo].[tblUser](
    [userid] [int] IDENTITY(1,1) NOT NULL, 
    [user] [nchar](10) NOT NULL, 
CONSTRAINT [PK_tblUser] PRIMARY KEY CLUSTERED 
(
    [userid] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

следуют

select [user] from tbluser 

не Сгенерировано без ошибки на выполнение.

0

Какая ошибка вы получаете. Я только что создал таблицу бронирований в моей копии SQL2008 и не получив такую ​​ошибку с

select [user] from bookings 

У меня также есть таблица с именем пользователя в другой БД и не имеют проблем

+0

Я получаю следующее сообщение (на итальянском, но я думаю, что смысл ясен): Messaggio 207, livello 16, stato 1, riga 2 Il nome di colonna 'user' non è valido. – Daniel

+0

Ошибка 207 обычно указывает на столбец, который не существует вообще в вашей таблице. Ошибка возникает только в вашем приложении или вы получаете ту же ошибку, если ее запускаете из студии управления? Кроме того, вы можете подтвердить после обновления, что столбец действительно существует в таблице заказов и не был переименован обновлением. – CResults

+0

Sei sicuro che la colonna «пользователь» esiste nella tabella «заказы» :-) – CResults

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