Ошибка открытия бд недопустимое имя столбца operator id

Эксплуатация » перенос сервера

Задача : перенести сервер на новое железо,
Вопрос : как перенести все настройки , базы данных и т.д. на новый сервер?

1 год 11 месяцев назад

avatar

#ссылка

8 ответов

спасибо пошел перегружать , материться , что бы все заработало

1 год 11 месяцев назад

avatar

#ссылка

как всегда не получилось сразу , старые сетевые настройки установил ( и имя компа тоже ) , на старом сервере сделал бакап базы правда без ключей, на новом сервере сделал востановление бакапа ,менеджер  попросил сменить имя базы данныч так как база с таким именем существует, сменил.При открытии Администратора Баз Данных выдается ошибка «Ошибка открытия БД:недопустимое имя столбца»operatorID»,QueryName =»QExecute» , куда смотреть еще ?

1 год 11 месяцев назад

avatar

#ссылка

Спасибо БД модернизировалась и загрузилась ,НО я не вижу приборов , планов , со старого сервера , может я как то не правельно перенес БД со старого сервера на новый

1 год 11 месяцев назад

avatar

#ссылка

УПС кажется понял, мне дали бакап когда еще не был сконфигурирован орион, наверное , буду разбираться
 

1 год 11 месяцев назад

avatar

#ссылка

А база открылась, все нормально

1 год 11 месяцев назад

avatar

#ссылка

еще вопрос , а можно взять файл бд со старого сервера с расширением ****.mdf и его прикрутить серверу

1 год 11 месяцев назад

avatar

#ссылка

Понятно , буду пробывать, спасибо за ответы

1 год 11 месяцев назад

avatar

#ссылка

еще вопрос можно, Orion pro SHELL ругается
17.02.2021 13:17:50 | Hint: Соединение с сервером 192.168.10.199
17.02.2021 13:17:53 | Error: Ошибка 12142. Необходимо добавить данное рабочее место в базу данных
17.02.2021 13:20:30 | Error: Ошибка 12142. Необходимо добавить данное рабочее место в базу данных
а как добавить подскажите.

1 год 11 месяцев назад

avatar

#ссылка

Добавить ответ

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

ЗАДАН

1 год 11 месяцев назад

По каждому вопросу/ответу можно добавлять комментарии. Комментарии предназначены для уточнения вопроса/ответа.

FORUM_NAME: АРМ Орион Про версии до 1.20
Описание: АРМ «Орион Про» — пакет программного обеспечения для аппаратно-программного комплекса ИСО «Орион», на котором реализуются системы охранной сигнализации, контроля и управления доступом, охранного видеонаблюдения, автоматика противопожарных систем, сопряженные с инженерными системами объектов.
Справочная информация, руководства для АРМ Орион Про версии до 1.20
Модератор: Модераторы


Brat_Egora
Brat_Egora
Репутация: 0
Сообщения: 8
Зарегистрирован: 30.05.2016
С нами: 6 лет 8 месяцев
Профессия: Инженер

Непрочитанное сообщение #62 Brat_Egora » 23.07.2016, 16:59

Столкнулся с похожей проблемой. Раньше был «Орион», После поменяли на «Орион Про». Всё работало нормально, без ошибок. Спустя два месяца появилась ошибка. При запуске АБД ругается на отсутствие связи. При запуске управления сервером пишет «Не удалось подключиться к серверу», указываю вручную, соединение устанавливается, но никакого результата не даёт. Оболочка системы выдаёт ошибку «Error: Ошибка 201. Невыполнение запроса: рабочие места». Монитор оперативной задачи выдаёт ошибку «Error: Ошибка 1000. Невыполнение запроса информации по всем компьютерам | SELECT ID, Gindex, Name, Psevdonim, TCP_IP, Gtype, Priority, Works, TypeEvents, IpReservSrv FROM Comps ORDER BY Comps.ID».

Безымянный.png

.
Не пойму в чём проблема… :wo_ol: :ps_ih:


Admin M
Администратор
Администратор
Аватара
Admin M
Администратор
Администратор
Возраст: 42
Репутация: 30
Сообщения: 412
Зарегистрирован: 04.06.2012
С нами: 10 лет 8 месяцев
Профессия: в поисках себя
Откуда: респ. Беларусь, г. Минск

Непрочитанное сообщение #63 Admin » 23.07.2016, 18:03

MadHacker писал(а):Была проведена проверка.
Данная ошибка (возможны другие названия таблиц) возникает при несоответствии файла prvd.ini и USB ключа. А так же в случае, если АБД запущено больше, чем позволяет лицензия.
При возникновении подобной ошибки первым делом проверяйте количество лицензий на запуск АБД.

Проверяли?

Добавлено спустя 35 минут 49 секунд:

Brat_Egora писал(а):Error: Ошибка 201. Невыполнение запроса: рабочие места

Ошибки в работе «Орион Про» 1.12.2.1 (Пост NKV #10862)


Brat_Egora
Brat_Egora
Репутация: 0
Сообщения: 8
Зарегистрирован: 30.05.2016
С нами: 6 лет 8 месяцев
Профессия: Инженер

Непрочитанное сообщение #64 Brat_Egora » 24.07.2016, 12:43

Admin,

Там другая ситуация.
У меня не запускается ничего кроме ЦСО. Всё остальное ругается на отсутствие связи.

Спойлер
ЦСО.png
Управление сервером.png
АДМ.png


Mixail 51 M
Активный участник
Активный участник
Аватара
Mixail 51 M
Активный участник
Активный участник
Возраст: 41
Репутация: 102
Сообщения: 2810
Зарегистрирован: 21.03.2015
С нами: 7 лет 10 месяцев
Профессия: инженер по ПБ
Откуда: г. Мурманск

Непрочитанное сообщение #65 Mixail 51 » 24.07.2016, 14:04

А служба SQL сервера то хоть запущена?
IP адрес указан верно?

Не ошибается только тот кто не работает.


Brat_Egora
Brat_Egora
Репутация: 0
Сообщения: 8
Зарегистрирован: 30.05.2016
С нами: 6 лет 8 месяцев
Профессия: Инженер

Непрочитанное сообщение #66 Brat_Egora » 24.07.2016, 15:32

Mixail 51,
SQl запущен. Относительно IP адреса, не могу понять где его менять. В целом картина показывает, что нарушена связь. В оболочке системы «Анализ окружения» показывает 1%.
П.с. система работала в течении 7-8 месяцев без сбоев.


Mixail 51 M
Активный участник
Активный участник
Аватара
Mixail 51 M
Активный участник
Активный участник
Возраст: 41
Репутация: 102
Сообщения: 2810
Зарегистрирован: 21.03.2015
С нами: 7 лет 10 месяцев
Профессия: инженер по ПБ
Откуда: г. Мурманск

Непрочитанное сообщение #67 Mixail 51 » 24.07.2016, 15:57

Для начала запустите командную строку и наберите в ней команду «ipconfig» для того что бы узнать реальный IP адрес компьютера.
Затем запустите «Управление сервером» и в меню «Файл►Сервер» замените IP на реальный, если он конечно не правильно прописан.
Также в Управление сервером не будет лишним проверить правильность написания имени сервера, у Вас судя по скриншотам должно быть «USER-PCSQLSERVER2012».
В Оперативной задаче тоже нужно будет поменять IP адрес на реальный, для того что его изменить нужно нажать на зеленый треугольник в правом верхнем углу, рядом к кнопкой ВЫХОД, появится окно в котором нужно будет кликнуть на надпись «Сервер» и ввести пароль 73173100 для смены IP адреса.
Затем нужно будет через АБД добавить данное рабочее место в базу данных.

Если все выше перечисленное у Вас выполнено, то тогда нужно будет подумать, потому как выше я перечислил самые распространенные ошибки.

Не ошибается только тот кто не работает.


Brat_Egora
Brat_Egora
Репутация: 0
Сообщения: 8
Зарегистрирован: 30.05.2016
С нами: 6 лет 8 месяцев
Профессия: Инженер

Непрочитанное сообщение #68 Brat_Egora » 24.07.2016, 19:04

Приветствую! все сделал как вы написали, и все пошло, запустилось. но компьютер старенький, глюк поймал, пришлось перезагрузить. Теперь снова все по шагово делаю, и не получается, пишет — не удается подключиться к серверу. Мистика… А проблема я так понял в том что программа ранее обращалась на сервер 192.168.1.103, теперь ребята с IT отдела вели какие то работы и наш IP адрес стал 192.168.1.106.


Mixail 51 M
Активный участник
Активный участник
Аватара
Mixail 51 M
Активный участник
Активный участник
Возраст: 41
Репутация: 102
Сообщения: 2810
Зарегистрирован: 21.03.2015
С нами: 7 лет 10 месяцев
Профессия: инженер по ПБ
Откуда: г. Мурманск

Непрочитанное сообщение #69 Mixail 51 » 24.07.2016, 19:09

Так наверное после аварийного завершения работы IP-шники на ….103 вернулись.

Не ошибается только тот кто не работает.


DruG
Активный участник
Активный участник
DruG
Активный участник
Активный участник
Репутация: 140
Сообщения: 1716
Зарегистрирован: 03.03.2016
С нами: 6 лет 11 месяцев
Профессия: безобразнорабочий

Непрочитанное сообщение #70 DruG » 25.07.2016, 05:01

поди ещё DHCP включен, отключать его нафик и ставить статичный адрес, чтобы ребята из ИТ-отделов случайно не рушили все системы


Brat_Egora
Brat_Egora
Репутация: 0
Сообщения: 8
Зарегистрирован: 30.05.2016
С нами: 6 лет 8 месяцев
Профессия: Инженер

Непрочитанное сообщение #71 Brat_Egora » 25.07.2016, 15:02

Mixail 51,
Поменял IP в «Управлении Сервером» и «Оперативной задаче», теперь при запуске АБД пишет ошибку соединения с сервером и ссылается на старый IP .
Программа «Монитор» выдаёт ошибку «Error: Ошибка приложения: Недопустимое имя столбца «DokumSeries»» :wo_ol:

DruG,

При отключении DHCP, сеть просто напросто теряется…


DruG
Активный участник
Активный участник
DruG
Активный участник
Активный участник
Репутация: 140
Сообщения: 1716
Зарегистрирован: 03.03.2016
С нами: 6 лет 11 месяцев
Профессия: безобразнорабочий

Непрочитанное сообщение #72 DruG » 25.07.2016, 15:45

Brat_Egora, ну так при отключении, ИП-адрес присваивается какой-нить 168.254… что явно не из вашей сети, т.е. ручками надо нормальный прописать. Или позвать на помощь ребят из ИТ-отдела, они то должны знать что и как делать ;)


Brat_Egora
Brat_Egora
Репутация: 0
Сообщения: 8
Зарегистрирован: 30.05.2016
С нами: 6 лет 8 месяцев
Профессия: Инженер

Непрочитанное сообщение #73 Brat_Egora » 25.07.2016, 16:06

DruG,
Спасибо! Вопрос с DHCP решен. IP поменял на тот, что был раньше. Спасибо ребятам с IT отдела.
Теперь АБД ругается на «недопустимое имя объекта». Оболочка начала выдавать ошибку «Error: Ошибка 12142. Необходимо добавить данное рабочее место в базу данных». Не пойму где его менять…
Поискал на форуме, ничего толкового не нашёл. Все ключи вставлены и не снимались. Рабочее место находится под видеонаблюдением.




Mixail 51 M
Активный участник
Активный участник
Аватара
Mixail 51 M
Активный участник
Активный участник
Возраст: 41
Репутация: 102
Сообщения: 2810
Зарегистрирован: 21.03.2015
С нами: 7 лет 10 месяцев
Профессия: инженер по ПБ
Откуда: г. Мурманск

Непрочитанное сообщение #76 Mixail 51 » 25.07.2016, 16:56

Открываете АБД►выделяете курсором нужный компьютер с именем►внизу нажимаете на кнопку править►в инспекторе меняем поле TCP/IP►сохранить.

Добавлено спустя 9 минут 1 секунду:
По поводу отсутствия рабочего места в базе забыл написать, выдержка из РЭ на АРМ стр.197:

Чтобы добавить новый объект «Рабочее место», необходимо выбрать в дереве объектов объект
«Система» и нажать кнопку «Добавить» . Затем необходимо ввести значения для всех свойств
нового объекта «Рабочее место» (за исключением свойства «Настройки», которое настраивается
уже после добавления объекта) и нажать кнопку «Сохранить» .

Стоит запомнить, что настройка свойства «Настройки» объекта «Рабочее место» возможна
только после того, как объект добавлен в систему.

Чтобы изменить значения свойств объекта «Рабочее место», нужно выбрать в дереве объектов
необходимый объект и нажать кнопку «Править» . Затем необходимо изменить значения
требуемых свойств объекта и нажать кнопку «Сохранить» .

Не ошибается только тот кто не работает.




  • 4
    384

    pet-and
    Перейти к последнему сообщению
    29.09.2021, 06:08
  • 8
    2061

    DruG
    Перейти к последнему сообщению
    11.03.2019, 14:31
  • 12
    4081

    DruG
    Перейти к последнему сообщению
    11.04.2022, 17:54
  • 1
    1305

    google
    Перейти к последнему сообщению
    25.02.2019, 09:17
  • 1
    36

    5pconet
    Перейти к последнему сообщению
    Вчера, 16:44
  • 1
    1458

    MadHacker
    Перейти к последнему сообщению
    11.05.2018, 16:52
  • 0
    2083

    graunf
    Перейти к последнему сообщению
    08.11.2018, 16:30
  • 0
    84

    deadbeat321
    Перейти к последнему сообщению
    16.12.2022, 17:00
  • 3
    458

    DruG
    Перейти к последнему сообщению
    21.12.2021, 17:31
  • 1
    558

    DruG
    Перейти к последнему сообщению
    12.05.2020, 06:36

Вернуться в «АРМ Орион Про версии до 1.20»

Кто сейчас на форуме

Боты: Google [Bot]

I am working on modifying the existing SQL Server stored procedure. I added two new columns to the table and modified the stored procedure as well to select these two columns as well. Although the columns are available in the table, I keep getting this error:

Invalid column name ‘INCL_GSTAMOUNT’

enter image description here

Can anyone please tell me what’s wrong here?

marc_s's user avatar

marc_s

722k173 gold badges1321 silver badges1443 bronze badges

asked Sep 22, 2013 at 7:41

Kamran Ahmed's user avatar

Kamran AhmedKamran Ahmed

11.4k22 gold badges67 silver badges100 bronze badges

2

Whenever this happens to me, I press Ctrl+Shift+R which refreshes intellisense, close the query window (save if necessary), then start a new session which usually works quite well.

Salah Akbari's user avatar

Salah Akbari

38.8k10 gold badges79 silver badges109 bronze badges

answered Sep 22, 2013 at 8:05

Ric's user avatar

4

Could also happen if putting string in double quotes instead of single.

answered Mar 7, 2014 at 3:30

Harry's user avatar

HarryHarry

1,5951 gold badge10 silver badges12 bronze badges

7

If you are going to ALTER Table column and immediate UPDATE the table including the new column in the same script. Make sure that use GO command to after line of code of alter table as below.

ALTER TABLE Location 
ADD TransitionType SMALLINT NULL
GO   

UPDATE Location SET TransitionType =  4

ALTER TABLE Location 
    ALTER COLUMN TransitionType SMALLINT NOT NULL

answered Oct 29, 2020 at 6:50

dush88c's user avatar

dush88cdush88c

1,8241 gold badge25 silver badges31 bronze badges

0

This error may ALSO occur in encapsulated SQL statements e.g.

DECLARE @tableName nvarchar(20) SET @tableName = ‘GROC’

DECLARE @updtStmt nvarchar(4000)

SET @updtStmt = ‘Update tbProductMaster_’ +@tableName +’ SET
department_str = ‘ + @tableName exec sp_executesql @updtStmt

Only to discover that there are missing quotations to encapsulate the parameter «@tableName» further like the following:

SET @updtStmt = ‘Update tbProductMaster_’ +@tableName +’ SET
department_str = »’ + @tableName + »’ ‘

Thanks

answered Mar 9, 2016 at 9:22

Chagbert's user avatar

ChagbertChagbert

7127 silver badges15 bronze badges

I came here because I was getting this error. And the reason was that I was using double quotes («) instead of single quotes (‘) when giving values for WHERE conditions. Writing this for the future me.

answered Oct 11, 2021 at 19:13

gthuo's user avatar

gthuogthuo

2,2664 gold badges23 silver badges30 bronze badges

Intellisense is not auto refreshed and you should not fully rely on that

answered Sep 22, 2013 at 8:03

Madhivanan's user avatar

MadhivananMadhivanan

13.4k1 gold badge23 silver badges28 bronze badges

I just tried.
If you execute the statement to generate your local table, the tool will accept that this column name exists.
Just mark the table generation statement in your editor window and click execute.

answered Feb 7, 2017 at 7:09

Anderas's user avatar

1

I was getting the same error when creating a view.

Imagine a select query that executes without issue:

select id
from products

Attempting to create a view from the same query would produce an error:

create view app.foobar as
select id
from products

Msg 207, Level 16, State 1, Procedure foobar, Line 2
Invalid column name ‘id’.

For me it turned out to be a scoping issue; note the view is being created in a different schema. Specifying the schema of the products table solved the issue. Ie.. using dbo.products instead of just products.

answered Apr 14, 2016 at 3:46

Molomby's user avatar

MolombyMolomby

5,4932 gold badges32 silver badges27 bronze badges

Following procedure helped me solve this issue but i don’t know why.

  1. Cut the code in question given by the lines in the message
  2. Save the query (e.g. to file)
  3. Paste the code to where it was before
  4. Again save the query

Even if it seems to be the same query executing it did not throw this error

answered Jan 23, 2018 at 9:50

Dreanaught's user avatar

DreanaughtDreanaught

711 silver badge10 bronze badges

1

There can be many things:
First attempt, make a select of this field in its source table;
Check the instance of the sql script window, you may be in a different instance;
Check if your join is correct;
Verify query ambiguity, maybe you are making a wrong table reference
Of these checks, run the T-sql script again

[Image of the script SQL][1]
  [1]: https://i.stack.imgur.com/r59ZY.png`enter code here

answered Dec 19, 2018 at 11:12

Junior Placido's user avatar

I experienced similar problem when running a query from the code (C#) side. The column in the table that was bringing the above error had ‘default value or binding’ (when I checked the table’s design) already added. So I just removed the column and its corresponding value as data being inserted by the query

answered Feb 8, 2022 at 8:44

Timothy Odhiambo's user avatar

1

with refresh table or close and open sql server this work

answered Sep 22, 2013 at 9:41

behzad's user avatar

behzadbehzad

1825 silver badges20 bronze badges

  • Refresh your tables.
  • Restart the SQL server.
  • Look out for the spelling mistakes in Query.

answered Jun 18, 2019 at 8:31

Khizer Amin's user avatar

I noted that, when executing joins, MSSQL will throw «Invalid Column Name» if the table you are joining on is not next to the table you are joining to. I tried specifying table1.row1 and table3.row3, but was still getting the error; it did not go away until I reordered the tables in the query. Apparently, the order of the tables in the statement matters.

+-------------+    +-------------+    +-------------+    
| table1      |    | table2      |    | table3      |    
+-------------+    +-------------+    +-------------+    
| row1 | col1 |    | row2 | col2 |    | row3 | col3 |    
+------+------+    +------+------+    +------+------+    
| ...  | ...  |    | ...  | ...  |    | ...  | ...  |    
+------+------+    +------+------+    +------+------+    

SELECT * FROM table1, table2 LEFT JOIN table3 ON row1 = row3; --throws an error
SELECT * FROM table2, table1 LEFT JOIN table3 ON row1 = row3; --works as expected

answered Oct 25, 2019 at 20:19

Nick Reed's user avatar

Nick ReedNick Reed

4,9814 gold badges16 silver badges37 bronze badges

Not enough rep to comment, so I’ll write a new answer, re: Nick Reed’s answer regarding the ordering of the tables in the query.

The JOIN operation has two operands. In the ON clause, one may only refer to columns from those operands. In Nick’s first example,

SELECT * FROM table1, table2 LEFT JOIN table3 ON row1 = row3; --throws an error

table2 and table3 are the operands of the JOIN, but the ON clause refers to row1, defined in table1. Hence the error.

answered Apr 7, 2021 at 14:03

lot_styx's user avatar

When this happened to me, the good old quit and re-launch SQL server management studio did the trick for me.

answered Mar 9, 2022 at 21:20

NSDumb's user avatar

NSDumbNSDumb

1,71018 silver badges21 bronze badges

I was using DbUp to add a column to a table then in the same script an UPDATE on that column and it said «invalid column <column name>».

Breaking the two statements into separate scripts resolved the issue.

answered Mar 15, 2022 at 2:16

chmoder's user avatar

chmoderchmoder

83611 silver badges19 bronze badges

I am working with Blazor and forgot to use any quotations…

SqlDataAdapter da = new($»select * from table where column = {value}», con);

needed to be

SqlDataAdapter da = new($»select * from table where column = ‘{value}'», con);

Thanks to Harry’s answer above for sending down the right train of thought.

answered May 23, 2022 at 14:19

L__'s user avatar

2

I am working on modifying the existing SQL Server stored procedure. I added two new columns to the table and modified the stored procedure as well to select these two columns as well. Although the columns are available in the table, I keep getting this error:

Invalid column name ‘INCL_GSTAMOUNT’

enter image description here

Can anyone please tell me what’s wrong here?

marc_s's user avatar

marc_s

722k173 gold badges1321 silver badges1443 bronze badges

asked Sep 22, 2013 at 7:41

Kamran Ahmed's user avatar

Kamran AhmedKamran Ahmed

11.4k22 gold badges67 silver badges100 bronze badges

2

Whenever this happens to me, I press Ctrl+Shift+R which refreshes intellisense, close the query window (save if necessary), then start a new session which usually works quite well.

Salah Akbari's user avatar

Salah Akbari

38.8k10 gold badges79 silver badges109 bronze badges

answered Sep 22, 2013 at 8:05

Ric's user avatar

4

Could also happen if putting string in double quotes instead of single.

answered Mar 7, 2014 at 3:30

Harry's user avatar

HarryHarry

1,5951 gold badge10 silver badges12 bronze badges

7

If you are going to ALTER Table column and immediate UPDATE the table including the new column in the same script. Make sure that use GO command to after line of code of alter table as below.

ALTER TABLE Location 
ADD TransitionType SMALLINT NULL
GO   

UPDATE Location SET TransitionType =  4

ALTER TABLE Location 
    ALTER COLUMN TransitionType SMALLINT NOT NULL

answered Oct 29, 2020 at 6:50

dush88c's user avatar

dush88cdush88c

1,8241 gold badge25 silver badges31 bronze badges

0

This error may ALSO occur in encapsulated SQL statements e.g.

DECLARE @tableName nvarchar(20) SET @tableName = ‘GROC’

DECLARE @updtStmt nvarchar(4000)

SET @updtStmt = ‘Update tbProductMaster_’ +@tableName +’ SET
department_str = ‘ + @tableName exec sp_executesql @updtStmt

Only to discover that there are missing quotations to encapsulate the parameter «@tableName» further like the following:

SET @updtStmt = ‘Update tbProductMaster_’ +@tableName +’ SET
department_str = »’ + @tableName + »’ ‘

Thanks

answered Mar 9, 2016 at 9:22

Chagbert's user avatar

ChagbertChagbert

7127 silver badges15 bronze badges

I came here because I was getting this error. And the reason was that I was using double quotes («) instead of single quotes (‘) when giving values for WHERE conditions. Writing this for the future me.

answered Oct 11, 2021 at 19:13

gthuo's user avatar

gthuogthuo

2,2664 gold badges23 silver badges30 bronze badges

Intellisense is not auto refreshed and you should not fully rely on that

answered Sep 22, 2013 at 8:03

Madhivanan's user avatar

MadhivananMadhivanan

13.4k1 gold badge23 silver badges28 bronze badges

I just tried.
If you execute the statement to generate your local table, the tool will accept that this column name exists.
Just mark the table generation statement in your editor window and click execute.

answered Feb 7, 2017 at 7:09

Anderas's user avatar

1

I was getting the same error when creating a view.

Imagine a select query that executes without issue:

select id
from products

Attempting to create a view from the same query would produce an error:

create view app.foobar as
select id
from products

Msg 207, Level 16, State 1, Procedure foobar, Line 2
Invalid column name ‘id’.

For me it turned out to be a scoping issue; note the view is being created in a different schema. Specifying the schema of the products table solved the issue. Ie.. using dbo.products instead of just products.

answered Apr 14, 2016 at 3:46

Molomby's user avatar

MolombyMolomby

5,4932 gold badges32 silver badges27 bronze badges

Following procedure helped me solve this issue but i don’t know why.

  1. Cut the code in question given by the lines in the message
  2. Save the query (e.g. to file)
  3. Paste the code to where it was before
  4. Again save the query

Even if it seems to be the same query executing it did not throw this error

answered Jan 23, 2018 at 9:50

Dreanaught's user avatar

DreanaughtDreanaught

711 silver badge10 bronze badges

1

There can be many things:
First attempt, make a select of this field in its source table;
Check the instance of the sql script window, you may be in a different instance;
Check if your join is correct;
Verify query ambiguity, maybe you are making a wrong table reference
Of these checks, run the T-sql script again

[Image of the script SQL][1]
  [1]: https://i.stack.imgur.com/r59ZY.png`enter code here

answered Dec 19, 2018 at 11:12

Junior Placido's user avatar

I experienced similar problem when running a query from the code (C#) side. The column in the table that was bringing the above error had ‘default value or binding’ (when I checked the table’s design) already added. So I just removed the column and its corresponding value as data being inserted by the query

answered Feb 8, 2022 at 8:44

Timothy Odhiambo's user avatar

1

with refresh table or close and open sql server this work

answered Sep 22, 2013 at 9:41

behzad's user avatar

behzadbehzad

1825 silver badges20 bronze badges

  • Refresh your tables.
  • Restart the SQL server.
  • Look out for the spelling mistakes in Query.

answered Jun 18, 2019 at 8:31

Khizer Amin's user avatar

I noted that, when executing joins, MSSQL will throw «Invalid Column Name» if the table you are joining on is not next to the table you are joining to. I tried specifying table1.row1 and table3.row3, but was still getting the error; it did not go away until I reordered the tables in the query. Apparently, the order of the tables in the statement matters.

+-------------+    +-------------+    +-------------+    
| table1      |    | table2      |    | table3      |    
+-------------+    +-------------+    +-------------+    
| row1 | col1 |    | row2 | col2 |    | row3 | col3 |    
+------+------+    +------+------+    +------+------+    
| ...  | ...  |    | ...  | ...  |    | ...  | ...  |    
+------+------+    +------+------+    +------+------+    

SELECT * FROM table1, table2 LEFT JOIN table3 ON row1 = row3; --throws an error
SELECT * FROM table2, table1 LEFT JOIN table3 ON row1 = row3; --works as expected

answered Oct 25, 2019 at 20:19

Nick Reed's user avatar

Nick ReedNick Reed

4,9814 gold badges16 silver badges37 bronze badges

Not enough rep to comment, so I’ll write a new answer, re: Nick Reed’s answer regarding the ordering of the tables in the query.

The JOIN operation has two operands. In the ON clause, one may only refer to columns from those operands. In Nick’s first example,

SELECT * FROM table1, table2 LEFT JOIN table3 ON row1 = row3; --throws an error

table2 and table3 are the operands of the JOIN, but the ON clause refers to row1, defined in table1. Hence the error.

answered Apr 7, 2021 at 14:03

lot_styx's user avatar

When this happened to me, the good old quit and re-launch SQL server management studio did the trick for me.

answered Mar 9, 2022 at 21:20

NSDumb's user avatar

NSDumbNSDumb

1,71018 silver badges21 bronze badges

I was using DbUp to add a column to a table then in the same script an UPDATE on that column and it said «invalid column <column name>».

Breaking the two statements into separate scripts resolved the issue.

answered Mar 15, 2022 at 2:16

chmoder's user avatar

chmoderchmoder

83611 silver badges19 bronze badges

I am working with Blazor and forgot to use any quotations…

SqlDataAdapter da = new($»select * from table where column = {value}», con);

needed to be

SqlDataAdapter da = new($»select * from table where column = ‘{value}'», con);

Thanks to Harry’s answer above for sending down the right train of thought.

answered May 23, 2022 at 14:19

L__'s user avatar

2

YFKoenigsegg

1 / 1 / 0

Регистрация: 06.10.2018

Сообщений: 160

1

Недопустимое имя столбца

19.02.2020, 14:48. Показов 9289. Ответов 8

Метки нет (Все метки)


Добрый день. Использую Entity Framework при сохранении пользователя в БД:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
      private void picSignUp_Click(object sender, EventArgs e)
        {
            using (var db = new DB())
            {
                var user = new UserClient()
                {
                    Name = fldName.Text,
                    Surname = fldSurname.Text,
                    PassportNumber = fldPassportNumber.Text,
                    UserLogin = fldLoginUp.Text,
                    Password = fldPasswordUp.Text,
                    Email = fldEmail.Text,
                    RegistrationDate = DateTime.Now.ToString()
                };
                db.UserClients.Add(user);
                db.SaveChanges();
 
 
            }
        }

Но вот в строке

C#
1
db.SaveChanges();

выбрасывается исключение, которое гласит, что «Недопустимое имя столбца Id». Подскажите пожалуйста, как пофиксить.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



🙋 🐗

3285 / 2880 / 663

Регистрация: 13.04.2015

Сообщений: 6,808

19.02.2020, 14:58

2

Цитата
Сообщение от YFKoenigsegg
Посмотреть сообщение

Подскажите пожалуйста, как пофиксить.

Понятно как — ввести допустимое имя столбца.
Может символы какие недопустимые, может длина превышена, вам лучше знать.



0



610 / 375 / 134

Регистрация: 06.03.2017

Сообщений: 1,377

19.02.2020, 15:01

3

Было бы неплохо глянуть на саму бд. А так только гадать. Ну и не видно, где передается парамет для Id



0



YFKoenigsegg

1 / 1 / 0

Регистрация: 06.10.2018

Сообщений: 160

19.02.2020, 16:00

 [ТС]

4

А параметр Id я не передаю, тк он используется в качестве автоинкремента при добавлении новой записи в БД.
Вот таблица:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
USE [ClientsDB]
GO
 
CREATE TABLE [dbo].[UserClients](
    [UserLogin] [VARCHAR](25) NOT NULL,
    [Password] [VARCHAR](25) NOT NULL,
    [PassportNumber] [VARCHAR](9) NOT NULL,
    [Name] [nvarchar](20) NOT NULL,
    [Surname] [nvarchar](25) NOT NULL,
    [Email] [VARCHAR](40) NOT NULL,
    [RegistrationDate] [VARCHAR](20) NOT NULL,
    UserId INT IDENTITY(1,1)
)
GO
 
ALTER TABLE [dbo].[UserClients] ADD  CONSTRAINT [DF_UserClients_RegistrationDate]  DEFAULT (getdate()) FOR [RegistrationDate]
GO
 
ALTER TABLE UserClients
ADD CONSTRAINT DF_UserClients_UserLogin_Unique UNIQUE (UserLogin)
GO
 
ALTER TABLE UserClients
ADD CONSTRAINT DF_UserClients_Email_Unique UNIQUE (Email)
GO
 
ALTER TABLE UserClients
ADD CONSTRAINT DF_UserClients_UserId PRIMARY KEY CLUSTERED (UserId)
GO



0



796 / 579 / 207

Регистрация: 21.02.2019

Сообщений: 2,095

19.02.2020, 16:35

5

YFKoenigsegg,
а в самом классе UserClient поле Id присутствует?



0



YFKoenigsegg

1 / 1 / 0

Регистрация: 06.10.2018

Сообщений: 160

19.02.2020, 18:54

 [ТС]

6

Да, в этом классе это поле есть(его там я поставил с той целью, чтобы потом получить Id из базы данных — а надо ли создавать прямо целое поля для этого или надо без него?), а если я убираю
это получается другая совсем ошибка которая также мне не известна:

C#
1
2
BankService.UserClient: : EntityType 'UserClient' has no key defined. Define the key for this EntityType.
UserClients: EntityType: EntitySet 'UserClients' is based on type 'UserClient' that has no keys defined.

Код класса UserClient:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 class UserClient
    {
        //public int Id { get; set; }
        public string UserLogin { get; set; }
        public string Password
        {
            set { }
        }
        public string PassportNumber { get; set; }
        public string Name { get; set; }
        public string Surname { get; set; }
        public string Email{ get; set; }
        public string RegistrationDate { get; set; }
    }

Добавлено через 1 час 30 минут
Решил проблему.Добавил следующее:

C#
1
2
 [Key]
        public string UserLogin { get; set; }

и подключил:

C#
1
using System.ComponentModel.DataAnnotations;

и убрал вовсе полe Id



0



Эксперт .NET

11076 / 7643 / 1179

Регистрация: 21.01.2016

Сообщений: 28,694

20.02.2020, 06:53

7

Цитата
Сообщение от YFKoenigsegg
Посмотреть сообщение

Решил проблему.Добавил следующее:

Это дичь. Для ключа нужно использовать отдельное поле с INT или GUID. UserId INT IDENTITY(1,1) PRIMARY KEY — самое правильное решение во всех смыслах.



3



YFKoenigsegg

1 / 1 / 0

Регистрация: 06.10.2018

Сообщений: 160

20.02.2020, 19:33

 [ТС]

8

Всё, переделал.
Поле Id должно называться так же, как и имя столбца(то есть UserId):

C#
1
public int UserId { get; set; }



0



Эксперт .NET

11076 / 7643 / 1179

Регистрация: 21.01.2016

Сообщений: 28,694

21.02.2020, 01:54

9

Цитата
Сообщение от YFKoenigsegg
Посмотреть сообщение

Поле Id должно называться так же, как и имя столбца(то есть UserId):

Не обязательно. Этот момент настраивается.



0





Я работаю над изменением существующей хранимой процедуры SQL Server. Я добавил два новых столбца в таблицу и также изменил хранимую процедуру, чтобы выбрать эти два столбца. Хотя столбцы доступны в таблице SQL Server продолжает давать эту ошибку:

недопустимое имя столбца ‘INCL_GSTAMOUNT’

enter image description here

может кто-нибудь пожалуйста, скажите мне, что тут не так?


1508  


9  

9 ответов:

всякий раз, когда это происходит со мной, я нажимаю Ctrl+ Shift+R обновления intellisense, закройте окно запроса (сохранить при необходимости), а затем запустите новый сеанс, который обычно работает довольно хорошо.

также может произойти, если положить строку в двойные кавычки вместо одинарных.

Intellisense не обновляется автоматически, и вы не должны полностью полагаться на это

эта ошибка также может возникать в инкапсулированных инструкциях SQL, например

объявить @tableName nvarchar (20) SET @tableName = ‘GROC’

объявить @updtStmt nvarchar (4000)

SET @updtStmt = ‘Update tbProductMaster_’ [email protected] + ‘ SET
department_str = ‘ + @tableName exec sp_executesql @updtStmt

только чтобы обнаружить, что отсутствуют цитаты для инкапсуляции параметра «@tableName » далее, как следующее:

SET @updtStmt = ‘Update tbProductMaster_’ [email protected] + ‘ SET
department_str = «‘ + @tableName+»»

спасибо

я получаю ту же ошибку при создании представления.

представьте себе запрос select, который выполняется без проблем:

select id
from products

попытка создать представление из того же запроса приведет к ошибке:

create view app.foobar as
select id
from products

Msg 207, Уровень 16, состояние 1, процедура foobar, строка 2
Недопустимое имя столбца «id».

для меня это оказалось проблемой области видимости; обратите внимание, что представление создается в другой схеме. Указание схема из products таблица решила проблему. То есть.. используя просто products.

с обновить таблицу или закрыть и открыть sql server эта работа

У меня была похожая проблема.

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

следующая процедура помогла мне решить эту проблему, но я не знаю, почему.

  1. вырезать код, о котором идет речь, заданный строками в сообщении
  2. сохраните запрос (например, в файл)
  3. вставьте код туда, где он был раньше
  4. снова сохраните запрос

даже если это, кажется, тот же запрос, выполняющий его не бросил эту ошибку

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

Я работаю над изменением существующей хранимой процедуры SQL Server. Я добавил в таблицу два новых столбца и также изменил хранимую процедуру, чтобы выбрать эти два столбца. Хотя столбцы доступны в таблице, я продолжаю получать эту ошибку:

Недействительное имя столбца «INCL_GSTAMOUNT»

enter image description here

Кто-нибудь может сказать мне, что здесь не так?

20 ответов

Лучший ответ

Всякий раз, когда это происходит со мной, я нажимаю Ctrl + Shift + R , который обновляет intellisense, закрываю окно запроса (при необходимости сохраняю) ), затем начните новый сеанс, который обычно работает достаточно хорошо.


296

Salah Akbari
17 Сен 2015 в 13:49

У меня была похожая проблема.

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


0

William Monahan
16 Авг 2017 в 18:25

Также может произойти, если строка будет заключена в двойные кавычки вместо одинарных.


110

Harry
7 Мар 2014 в 07:30

Если вы сохраняете целочисленные значения в столбце varchar, возникает эта ошибка.

Вставить из php использовать $item1 в '$item1' преобразовать переменную int в строку


0

marc_s
25 Авг 2021 в 08:25

  • Обновите свои таблицы.
  • Перезагрузите SQL-сервер.
  • Обратите внимание на орфографические ошибки в Query.


0

Khizer Amin
18 Июн 2019 в 11:31

Если вы собираетесь ИЗМЕНИТЬ столбец таблицы и немедленно ОБНОВИТЬ таблицу, включая новый столбец, в том же сценарии . Убедитесь, что вы используете команду GO после строки кода для изменения таблицы, как показано ниже.

ALTER TABLE Location 
ADD TransitionType SMALLINT NULL
GO   

UPDATE Location SET TransitionType =  4

ALTER TABLE Location 
    ALTER COLUMN TransitionType SMALLINT NOT NULL


5

dush88c
29 Окт 2020 в 09:50

Эта ошибка ТАКЖЕ может возникать в инкапсулированных операторах SQL, например.

ОБЪЯВИТЬ @tableName nvarchar (20) SET @tableName = ‘GROC’

ОБЪЯВИТЬ @updtStmt nvarchar (4000)

SET @updtStmt = ‘Обновить tbProductMaster_’ + @ tableName + ‘SET Department_str =’ + @tableName exec sp_executesql @updtStmt

Только для того, чтобы обнаружить, что отсутствуют цитаты для инкапсуляции параметра «@tableName», как показано ниже:

SET @updtStmt = ‘Обновить tbProductMaster_’ + @ tableName + ‘SET Department_str =’ » + @tableName + » »

Благодарность


4

Chagbert
9 Мар 2016 в 12:22

Я пришел сюда, потому что у меня была эта ошибка. Причина в том, что я использовал двойные кавычки («) вместо одинарных кавычек (‘) при задании значений для условий WHERE. Я писал это на будущее.


4

gthuo
11 Окт 2021 в 22:13

Intellisense не обновляется автоматически, и вы не должны полностью полагаться на это


2

Madhivanan
22 Сен 2013 в 12:03

Я просто попробовал. Если вы выполните оператор для создания вашей локальной таблицы, инструмент примет, что это имя столбца существует. Просто отметьте оператор создания таблицы в окне редактора и нажмите «Выполнить».


2

Anderas
7 Фев 2017 в 10:09

Я получал ту же ошибку при создании представления.

Представьте себе запрос выбора, который выполняется без проблем:

select id
from products

Попытка создать представление из того же запроса приведет к ошибке:

create view app.foobar as
select id
from products

Сообщение 207, уровень 16, состояние 1, строка процедуры, строка 2
Недопустимое имя столбца «id».

Для меня это оказалось проблемой определения объема работ; обратите внимание, что представление создается в другой схеме. Указание схемы таблицы products решило проблему. То есть .. используя dbo.products вместо просто products.


1

Molomby
14 Апр 2016 в 06:46

Следующая процедура помогла мне решить эту проблему, но я не знаю почему.

  1. Вырежьте код, о котором идет речь, по строкам в сообщении.
  2. Сохраните запрос (например, в файл)
  3. Вставьте код туда, где он был раньше
  4. Снова сохраните запрос

Даже если кажется, что выполняется тот же запрос, он не выдает эту ошибку


1

Dreanaught
23 Янв 2018 в 12:50

There can be many things:
First attempt, make a select of this field in its source table;
Check the instance of the sql script window, you may be in a different instance;
Check if your join is correct;
Verify query ambiguity, maybe you are making a wrong table reference
Of these checks, run the T-sql script again

[Image of the script SQL][1]
  [1]: https://i.stack.imgur.com/r59ZY.png`enter code here


1

Junior Placido
19 Дек 2018 в 14:12

С таблицей обновления или закрытием и открытием sql server эта работа


0

behzad
22 Сен 2013 в 13:41

Я заметил, что при выполнении соединений MSSQL выдаст сообщение «Недопустимое имя столбца», если таблица, к которой вы присоединяетесь, находится не рядом с таблицей, к которой вы присоединяетесь. Я попытался указать table1.row1 и table3.row3, но все равно получал ошибку; это не исчезло, пока я не изменил порядок таблиц в запросе. Очевидно, порядок таблиц в заявлении имеет значение.

+-------------+    +-------------+    +-------------+    
| table1      |    | table2      |    | table3      |    
+-------------+    +-------------+    +-------------+    
| row1 | col1 |    | row2 | col2 |    | row3 | col3 |    
+------+------+    +------+------+    +------+------+    
| ...  | ...  |    | ...  | ...  |    | ...  | ...  |    
+------+------+    +------+------+    +------+------+    

SELECT * FROM table1, table2 LEFT JOIN table3 ON row1 = row3; --throws an error
SELECT * FROM table2, table1 LEFT JOIN table3 ON row1 = row3; --works as expected


0

Nick Reed
25 Окт 2019 в 23:19

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


0

NSDumb
10 Мар 2022 в 00:20

Я использовал DbUp, чтобы добавить столбец в таблицу, а затем в том же скрипте ОБНОВЛЕНИЕ этого столбца и он сказал «недопустимый столбец <имя столбца>».

Разбиение двух операторов на отдельные сценарии решило проблему.


0

chmoder
15 Мар 2022 в 05:16

Я работаю с Blazor и забыл использовать цитаты…

SqlDataAdapter da = new($»select * from table where column = {value}», con);

Должен быть

SqlDataAdapter da = new($»select * from table where column = ‘{value}'», con);

Благодаря ответу Гарри выше за правильный ход мыслей.


0

L__
23 Май 2022 в 17:19

Понравилась статья? Поделить с друзьями:
  • Ошибка отклонения действия
  • Ошибка открытия бд недопустимое имя объекта prooms орион про
  • Ошибка отказ едс ман тга
  • Ошибка отис nav nr
  • Ошибка ответа от ace stream