Добрый день! 1 год 5 месяцев назад
Яцко Вячеслав Владимирович 16 #ссылка |
1 ответ
Открываете Управление Сервером. БД, в списке находите пункт под названием Модернизация базы данных из версии 1.20.., после этой процедуры все откроется. 1 год 5 месяцев назад
Тремасов Константин Александрович 5365 #ссылка |
Добавить ответ
Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)
ЗАДАН
1 год 5 месяцев назад
По каждому вопросу/ответу можно добавлять комментарии. Комментарии предназначены для уточнения вопроса/ответа.
Задача : перенести сервер на новое железо, 1 год 11 месяцев назад
#ссылка |
8 ответов
спасибо пошел перегружать , материться , что бы все заработало 1 год 11 месяцев назад
#ссылка |
как всегда не получилось сразу , старые сетевые настройки установил ( и имя компа тоже ) , на старом сервере сделал бакап базы правда без ключей, на новом сервере сделал востановление бакапа ,менеджер попросил сменить имя базы данныч так как база с таким именем существует, сменил.При открытии Администратора Баз Данных выдается ошибка «Ошибка открытия БД:недопустимое имя столбца»operatorID»,QueryName =»QExecute» , куда смотреть еще ? 1 год 11 месяцев назад
#ссылка |
Спасибо БД модернизировалась и загрузилась ,НО я не вижу приборов , планов , со старого сервера , может я как то не правельно перенес БД со старого сервера на новый 1 год 11 месяцев назад
#ссылка |
УПС кажется понял, мне дали бакап когда еще не был сконфигурирован орион, наверное , буду разбираться 1 год 11 месяцев назад
#ссылка |
А база открылась, все нормально 1 год 11 месяцев назад
#ссылка |
еще вопрос , а можно взять файл бд со старого сервера с расширением ****.mdf и его прикрутить серверу 1 год 11 месяцев назад
#ссылка |
Понятно , буду пробывать, спасибо за ответы 1 год 11 месяцев назад
#ссылка |
еще вопрос можно, Orion pro SHELL ругается 1 год 11 месяцев назад
#ссылка |
Добавить ответ
Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)
ЗАДАН
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».
.
Не пойму в чём проблема…
- Admin
- Администратор
- Admin
- Администратор
- Возраст: 42
- Репутация: 30
- Сообщения: 412
- Зарегистрирован: 04.06.2012
- С нами: 10 лет 7 месяцев
- Профессия: в поисках себя
- Откуда: респ. Беларусь, г. Минск
Непрочитанное сообщение #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,
Там другая ситуация.
У меня не запускается ничего кроме ЦСО. Всё остальное ругается на отсутствие связи.
- Спойлер
-
- Mixail 51
- Активный участник
- Mixail 51
- Активный участник
- Возраст: 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
- Активный участник
- Mixail 51
- Активный участник
- Возраст: 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
- Активный участник
- Mixail 51
- Активный участник
- Возраст: 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 лет 10 месяцев
- Профессия: безобразнорабочий
Непрочитанное сообщение #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»»
DruG,
При отключении DHCP, сеть просто напросто теряется…
- DruG
- Активный участник
- DruG
- Активный участник
- Репутация: 140
- Сообщения: 1716
- Зарегистрирован: 03.03.2016
- С нами: 6 лет 10 месяцев
- Профессия: безобразнорабочий
Непрочитанное сообщение #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
- Активный участник
- Mixail 51
- Активный участник
- Возраст: 41
- Репутация: 102
- Сообщения: 2810
- Зарегистрирован: 21.03.2015
- С нами: 7 лет 10 месяцев
- Профессия: инженер по ПБ
- Откуда: г. Мурманск
Непрочитанное сообщение #76 Mixail 51 » 25.07.2016, 16:56
Открываете АБД►выделяете курсором нужный компьютер с именем►внизу нажимаете на кнопку править►в инспекторе меняем поле TCP/IP►сохранить.
Добавлено спустя 9 минут 1 секунду:
По поводу отсутствия рабочего места в базе забыл написать, выдержка из РЭ на АРМ стр.197:
Чтобы добавить новый объект «Рабочее место», необходимо выбрать в дереве объектов объект
«Система» и нажать кнопку «Добавить» . Затем необходимо ввести значения для всех свойств
нового объекта «Рабочее место» (за исключением свойства «Настройки», которое настраивается
уже после добавления объекта) и нажать кнопку «Сохранить» .Стоит запомнить, что настройка свойства «Настройки» объекта «Рабочее место» возможна
только после того, как объект добавлен в систему.Чтобы изменить значения свойств объекта «Рабочее место», нужно выбрать в дереве объектов
необходимый объект и нажать кнопку «Править» . Затем необходимо изменить значения
требуемых свойств объекта и нажать кнопку «Сохранить» .
Не ошибается только тот кто не работает.
-
- 4
- 373
pet-and
Перейти к последнему сообщению
29.09.2021, 06:08
-
- 8
- 2027
DruG
Перейти к последнему сообщению
11.03.2019, 14:31
-
- 12
- 3663
DruG
Перейти к последнему сообщению
11.04.2022, 17:54
-
- 1
- 1291
google
Перейти к последнему сообщению
25.02.2019, 09:17
-
- 0
- 5
Zloy_S
Перейти к последнему сообщению
Сегодня, 07:09
-
- 1
- 1441
MadHacker
Перейти к последнему сообщению
11.05.2018, 16:52
-
- 0
- 2064
graunf
Перейти к последнему сообщению
08.11.2018, 16:30
-
- 0
- 67
deadbeat321
Перейти к последнему сообщению
16.12.2022, 17:00
-
- 3
- 445
DruG
Перейти к последнему сообщению
21.12.2021, 17:31
-
- 1
- 552
DruG
Перейти к последнему сообщению
12.05.2020, 06:36
Вернуться в «АРМ Орион Про версии до 1.20»
I suspect that you have two tables with the same name. One is owned by the schema ‘dbo’ (dbo.PerfDiag
), and the other is owned by the default schema of the account used to connect to SQL Server (something like userid.PerfDiag
).
When you have an unqualified reference to a schema object (such as a table) — one not qualified by schema name — the object reference must be resolved. Name resolution occurs by searching in the following sequence for an object of the appropriate type (table) with the specified name. The name resolves to the first match:
- Under the default schema of the user.
- Under the schema ‘dbo’.
The unqualified reference is bound to the first match in the above sequence.
As a general recommended practice, one should always qualify references to schema objects, for performance reasons:
-
An unqualified reference may invalidate a cached execution plan for the stored procedure or query, since the schema to which the reference was bound may change depending on the credentials executing the stored procedure or query. This results in recompilation of the query/stored procedure, a performance hit. Recompilations cause compile locks to be taken out, blocking others from accessing the needed resource(s).
-
Name resolution slows down query execution as two probes must be made to resolve to the likely version of the object (that owned by ‘dbo’). This is the usual case. The only time a single probe will resolve the name is if the current user owns an object of the specified name and type.
[Edited to further note]
The other possibilities are (in no particular order):
- You aren’t connected to the database you think you are.
- You aren’t connected to the SQL Server instance you think you are.
Double check your connect strings and ensure that they explicitly specify the SQL Server instance name and the database name.
I suspect that you have two tables with the same name. One is owned by the schema ‘dbo’ (dbo.PerfDiag
), and the other is owned by the default schema of the account used to connect to SQL Server (something like userid.PerfDiag
).
When you have an unqualified reference to a schema object (such as a table) — one not qualified by schema name — the object reference must be resolved. Name resolution occurs by searching in the following sequence for an object of the appropriate type (table) with the specified name. The name resolves to the first match:
- Under the default schema of the user.
- Under the schema ‘dbo’.
The unqualified reference is bound to the first match in the above sequence.
As a general recommended practice, one should always qualify references to schema objects, for performance reasons:
-
An unqualified reference may invalidate a cached execution plan for the stored procedure or query, since the schema to which the reference was bound may change depending on the credentials executing the stored procedure or query. This results in recompilation of the query/stored procedure, a performance hit. Recompilations cause compile locks to be taken out, blocking others from accessing the needed resource(s).
-
Name resolution slows down query execution as two probes must be made to resolve to the likely version of the object (that owned by ‘dbo’). This is the usual case. The only time a single probe will resolve the name is if the current user owns an object of the specified name and type.
[Edited to further note]
The other possibilities are (in no particular order):
- You aren’t connected to the database you think you are.
- You aren’t connected to the SQL Server instance you think you are.
Double check your connect strings and ensure that they explicitly specify the SQL Server instance name and the database name.
YFKoenigsegg 1 / 1 / 0 Регистрация: 06.10.2018 Сообщений: 160 |
||||||||
1 |
||||||||
Недопустимое имя столбца19.02.2020, 14:48. Показов 8951. Ответов 8 Метки нет (Все метки)
Добрый день. Использую Entity Framework при сохранении пользователя в БД:
Но вот в строке
выбрасывается исключение, которое гласит, что «Недопустимое имя столбца Id». Подскажите пожалуйста, как пофиксить.
__________________ 0 |
bite 3264 / 2852 / 659 Регистрация: 13.04.2015 Сообщений: 6,732 |
|
19.02.2020, 14:58 |
2 |
Подскажите пожалуйста, как пофиксить. Понятно как — ввести допустимое имя столбца. 0 |
602 / 369 / 132 Регистрация: 06.03.2017 Сообщений: 1,365 |
|
19.02.2020, 15:01 |
3 |
Было бы неплохо глянуть на саму бд. А так только гадать. Ну и не видно, где передается парамет для Id 0 |
YFKoenigsegg 1 / 1 / 0 Регистрация: 06.10.2018 Сообщений: 160 |
||||
19.02.2020, 16:00 [ТС] |
4 |
|||
А параметр Id я не передаю, тк он используется в качестве автоинкремента при добавлении новой записи в БД.
0 |
796 / 579 / 207 Регистрация: 21.02.2019 Сообщений: 2,095 |
|
19.02.2020, 16:35 |
5 |
YFKoenigsegg, 0 |
YFKoenigsegg 1 / 1 / 0 Регистрация: 06.10.2018 Сообщений: 160 |
||||||||||||||||
19.02.2020, 18:54 [ТС] |
6 |
|||||||||||||||
Да, в этом классе это поле есть(его там я поставил с той целью, чтобы потом получить Id из базы данных — а надо ли создавать прямо целое поля для этого или надо без него?), а если я убираю
Код класса UserClient:
Добавлено через 1 час 30 минут
и подключил:
и убрал вовсе полe Id 0 |
11045 / 7601 / 1176 Регистрация: 21.01.2016 Сообщений: 28,582 |
|
20.02.2020, 06:53 |
7 |
Решил проблему.Добавил следующее: Это дичь. Для ключа нужно использовать отдельное поле с INT или GUID. 3 |
YFKoenigsegg 1 / 1 / 0 Регистрация: 06.10.2018 Сообщений: 160 |
||||
20.02.2020, 19:33 [ТС] |
8 |
|||
Всё, переделал.
0 |
11045 / 7601 / 1176 Регистрация: 21.01.2016 Сообщений: 28,582 |
|
21.02.2020, 01:54 |
9 |
Поле Id должно называться так же, как и имя столбца(то есть UserId): Не обязательно. Этот момент настраивается. 0 |
Имеется форма для добавления новой группы (скриншоты прилагаются чуть ниже). При нажатии на кнопку сохранения, происходит сохранение данной записи в таблицу tGroup (успешно). После сохранения, из tGroup должен браться id (первичный ключ) этой группы и передаваться в другую таблицу (вот тут и происходит ошибка в sql запросе).
void LoadIdGroup(string name)
{
adapter = new SqlDataAdapter("SELECT ID_Group from tGroups where sName="+name, connection);
dtGroup = new DataTable();
adapter.Fill(dtGroup);
bsGroup = new BindingSource();
bsGroup.DataSource = dtGroup;
}
private void saveBtn_Click(object sender, EventArgs e)
{
connection.Open();
SqlCommand commandInsert = new SqlCommand("INSERT INTO [tGroups]" +
" VALUES(@Name, @Count)", connection);
commandInsert.Parameters.AddWithValue("@Name", tbName.Text);
commandInsert.Parameters.AddWithValue("@Count", tbCount.Text);
commandInsert.ExecuteNonQuery();
connection.Close();
connection.Open();
SqlCommand commandInsertRoutes = new SqlCommand("INSERT INTO [tGroupsRoutes]" +
" VALUES (@ID_Group, @ID_Route)", connection);
commandInsertRoutes.Parameters.AddWithValue("@ID_Route", Convert.ToInt32(cbRoutes.SelectedValue));
LoadIdGroup(tbName.Text);
commandInsertRoutes.Parameters.AddWithValue("@ID_Group", Convert.ToInt32(((DataRowView)this.bsGroup.Current).Row["ID_Group"]));
commandInsertRoutes.ExecuteNonQuery();
connection.Close();
this.Dispose();
}
Я работаю над изменением существующей хранимой процедуры SQL Server. Я добавил два новых столбца в таблицу и также изменил хранимую процедуру, чтобы выбрать эти два столбца. Хотя столбцы доступны в таблице SQL Server продолжает давать эту ошибку:
недопустимое имя столбца ‘INCL_GSTAMOUNT’
может кто-нибудь пожалуйста, скажите мне, что тут не так?
1432
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 эта работа
У меня была похожая проблема.
проблема заключалась в том, что в таблице был триггер, который записывал изменения в таблицу журнала аудита. В таблице журнала аудита отсутствовали столбцы.
следующая процедура помогла мне решить эту проблему, но я не знаю, почему.
- вырезать код, о котором идет речь, заданный строками в сообщении
- сохраните запрос (например, в файл)
- вставьте код туда, где он был раньше
- снова сохраните запрос
даже если это, кажется, тот же запрос, выполняющий его не бросил эту ошибку
Я просто попробовал.
Если вы выполните инструкцию для создания локальной таблицы, инструмент примет, что это имя столбца существует.
Просто отметьте оператор генерации таблицы в окне редактора и нажмите кнопку Выполнить.
я попал в тупик. У меня есть запрос, который генерируется какой-нибудь C#
код. Запрос отлично работает в Microsoft SQL Server Management Studio
при запуске с той же базой данных.
однако, когда мой код пытается выполнить тот же запрос, я получаю ту же ошибку о недопустимом столбце, и возникает исключение. Все запросы, ссылающиеся на этот столбец, завершаются ошибкой.
столбец, о котором идет речь, был недавно добавлен в базу данных. Это столбец даты под названием Incident_Begin_Time_ts
.
An например, не является:
select * from PerfDiag
where Incident_Begin_Time_ts > '2010-01-01 00:00:00';
другие запросы, такие как Select MAX(Incident_Being_Time_ts);
сбой при запуске в код, потому что он думает, что столбец отсутствует.
какие идеи?
7 ответов
Я подозреваю, что у вас есть две таблицы с одинаковыми именами. Один принадлежит схеме «dbo» (dbo.PerfDiag
), а другой принадлежит схеме по умолчанию учетной записи, используемой для подключения к SQL Server (что-то вроде userid.PerfDiag
).
Если у вас есть неквалифицированная ссылка на объект схемы (например, таблица) — не квалифицированная по имени схемы — ссылка на объект должна быть разрешена. Разрешение имен происходит путем поиска объекта соответствующего типа в следующей последовательности (таблица) с указанным именем. Имя разрешается до первого совпадения:
- по схеме пользователя по умолчанию.
- по схеме «dbo».
неквалифицированная ссылка привязана к первому матчу в приведенной выше последовательности.
в качестве общей рекомендуемой практики следует всегда квалифицируйте ссылки на объекты схемы по соображениям производительности:
-
неквалифицированная ссылка может аннулировать кэшированный план выполнения хранимой процедуры или запроса, поскольку схема, к которой привязана ссылка, может изменяться в зависимости от учетных данных, выполняющих хранимую процедуру или запрос. Это приводит к перекомпиляции запроса / хранимой процедуры, повышению производительности. Перекомпиляции вызывают блокировку компиляции, которая блокирует доступ других пользователей к необходимым ресурсам.
-
разрешение имен замедляет выполнение запроса, поскольку необходимо выполнить два зондирования разрешите вероятную версию объекта (который принадлежит «dbo»). Это обычный случай. Единственный раз, когда один зонд разрешит имя, если текущий пользователь владеет объектом с указанным именем и типом.
[отредактировано для дальнейшего Примечание]
другие возможности (в определенном порядке):
- вы не подключены к базе данных вы думаете, что вы.
- вы не подключены к экземпляру SQL Server, который вы думаете ты.
дважды проверьте строки подключения и убедитесь, что они явно указывают имя экземпляра SQL Server и имя базы данных.
Если вы запускаете это внутри транзакции и оператора SQL, прежде чем это отбрасывает/изменяет таблицу, вы также можете получить это сообщение.
Если вы используете переменные с тем же именем, что и ваш столбец, возможно, вы забыли маркер переменной»@». В инструкции INSERT он будет обнаружен как столбец.
просто была такая же проблема. Я переименовал некоторые псевдонимные столбцы во временную таблицу, которая далее используется другой частью того же кода. По какой-то причине это не было захвачено SQL Server Management Studio, и он жаловался на недопустимые имена столбцов.
то, что я просто сделал, это создать новый запрос, скопировать код SQL из старого запроса в этот новый запрос и запустить его снова. Это, казалось, обновило окружающую среду правильно.
в конце концов я закрыл и перезапустил Microsoft SQL Server Management Studio; и это исправило его для меня. Но в других случаях достаточно было просто запустить новое окно запроса.
в моем случае я пытался получить значение из неправильного набора результатов при запросе нескольких операторов SQL.
У меня есть база данных в Microsoft SQL Server с таблицей, состоящей из трех столбцов с именами barcode
, package
и lab
. Я пытаюсь обновить поле lab
определенного barcode
, которое я получил в качестве ввода. Вот что я пробовал:
object[] args = { LabName, currentBarcode };
sql = string.Format("UPDATE BarcodesData SET Lab = {0} WHERE Barcode = {1}", args);
Adapter.UpdateCommand = new SqlCommand(sql, cnn);
Adapter.UpdateCommand.ExecuteNonQuery();
К сожалению, я получаю сообщение об ошибке «Неверное имя столбца». Имя столбца в базе данных — Lab, поэтому я не понимаю, в чем моя ошибка, но считаю, что это как-то связано с оператором обновления.
2 ответа
Лучший ответ
Строковые литералы в SQL обозначаются одинарными кавычками ('
). Без них аргументы, которые вы форматируете в строку SQL, будут интерпретироваться как имена столбцов, и вы получите ошибку, поскольку таких столбцов нет.
Вы можете указать значения:
sql = string.Format("UPDATE BarcodesData SET Lab = '{0}' WHERE Barcode = '{1}'", args);
// Here -------------------------------------------^---^-----------------^---^
Но это по-прежнему плохая практика, и ваш код останется уязвимым для атак с использованием SQL-инъекций, если эти аргументы получены из пользовательского ввода или любых ненадежных данных.
Лучше всего использовать переменные связывания:
sql = "UPDATE BarcodesData SET Lab = @lab WHERE Barcode = @barcode";
Adapter.UpdateCommand = new SqlCommand(sql, cnn);
Adapter.UpdateCommand.Parameters.AddWithValue("@lab", LabName);
Adapter.UpdateCommand.Parameters.AddWithValue("@barcode", currentBarCode);
Adapter.UpdateCommand.ExecuteNonQuery();
3
Mureinik
26 Сен 2020 в 19:43
Вы должны иметь дело с зарезервированным обновлением tablename set [Lab] = 1, где [Barcode] = 1
-1
MrTariqJamil
26 Сен 2020 в 19:39
FORUM_NAME: АРМ Орион Про версии до 1.20
Описание: АРМ «Орион Про» — пакет программного обеспечения для аппаратно-программного комплекса ИСО «Орион», на котором реализуются системы охранной сигнализации, контроля и управления доступом, охранного видеонаблюдения, автоматика противопожарных систем, сопряженные с инженерными системами объектов.
Справочная информация, руководства для АРМ Орион Про версии до 1.20
Модератор: Модераторы
- Brat_Egora
- Brat_Egora
- Репутация: 0
- Сообщения: 8
- Зарегистрирован: 30.05.2016
- С нами: 7 лет
- Профессия: Инженер
Непрочитанное сообщение #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».
.
Не пойму в чём проблема…
- Admin
- Администратор
- Admin
- Администратор
- Возраст: 43
- Репутация: 30
- Сообщения: 412
- Зарегистрирован: 04.06.2012
- С нами: 11 лет
- Профессия: в поисках себя
- Откуда: респ. Беларусь, г. Минск
Непрочитанное сообщение #63 Admin » 23.07.2016, 18:03
MadHacker писал(а):Была проведена проверка.
Данная ошибка (возможны другие названия таблиц) возникает при несоответствии файла prvd.ini и USB ключа. А так же в случае, если АБД запущено больше, чем позволяет лицензия.
При возникновении подобной ошибки первым делом проверяйте количество лицензий на запуск АБД.
Проверяли?
Добавлено спустя 35 минут 49 секунд:
Brat_Egora писал(а):Error: Ошибка 201. Невыполнение запроса: рабочие места
Ошибки в работе «Орион Про» 1.12.2.1 (Пост NKV #10862)
- Mixail 51
- Активный участник
- Mixail 51
- Активный участник
- Возраст: 42
- Репутация: 102
- Сообщения: 2810
- Зарегистрирован: 21.03.2015
- С нами: 8 лет 3 месяца
- Профессия: инженер по ПБ
- Откуда: г. Мурманск
Непрочитанное сообщение #65 Mixail 51 » 24.07.2016, 14:04
А служба SQL сервера то хоть запущена?
IP адрес указан верно?
Не ошибается только тот кто не работает.
- Brat_Egora
- Brat_Egora
- Репутация: 0
- Сообщения: 8
- Зарегистрирован: 30.05.2016
- С нами: 7 лет
- Профессия: Инженер
Непрочитанное сообщение #66 Brat_Egora » 24.07.2016, 15:32
Mixail 51,
SQl запущен. Относительно IP адреса, не могу понять где его менять. В целом картина показывает, что нарушена связь. В оболочке системы «Анализ окружения» показывает 1%.
П.с. система работала в течении 7-8 месяцев без сбоев.
- Mixail 51
- Активный участник
- Mixail 51
- Активный участник
- Возраст: 42
- Репутация: 102
- Сообщения: 2810
- Зарегистрирован: 21.03.2015
- С нами: 8 лет 3 месяца
- Профессия: инженер по ПБ
- Откуда: г. Мурманск
Непрочитанное сообщение #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
- С нами: 7 лет
- Профессия: Инженер
Непрочитанное сообщение #68 Brat_Egora » 24.07.2016, 19:04
Приветствую! все сделал как вы написали, и все пошло, запустилось. но компьютер старенький, глюк поймал, пришлось перезагрузить. Теперь снова все по шагово делаю, и не получается, пишет — не удается подключиться к серверу. Мистика… А проблема я так понял в том что программа ранее обращалась на сервер 192.168.1.103, теперь ребята с IT отдела вели какие то работы и наш IP адрес стал 192.168.1.106.
- Mixail 51
- Активный участник
- Mixail 51
- Активный участник
- Возраст: 42
- Репутация: 102
- Сообщения: 2810
- Зарегистрирован: 21.03.2015
- С нами: 8 лет 3 месяца
- Профессия: инженер по ПБ
- Откуда: г. Мурманск
Непрочитанное сообщение #69 Mixail 51 » 24.07.2016, 19:09
Так наверное после аварийного завершения работы IP-шники на ….103 вернулись.
Не ошибается только тот кто не работает.
- DruG
- Активный участник
- DruG
- Активный участник
- Репутация: 140
- Сообщения: 1716
- Зарегистрирован: 03.03.2016
- С нами: 7 лет 3 месяца
- Профессия: безобразнорабочий
Непрочитанное сообщение #70 DruG » 25.07.2016, 05:01
поди ещё DHCP включен, отключать его нафик и ставить статичный адрес, чтобы ребята из ИТ-отделов случайно не рушили все системы
- Brat_Egora
- Brat_Egora
- Репутация: 0
- Сообщения: 8
- Зарегистрирован: 30.05.2016
- С нами: 7 лет
- Профессия: Инженер
Непрочитанное сообщение #71 Brat_Egora » 25.07.2016, 15:02
Mixail 51,
Поменял IP в «Управлении Сервером» и «Оперативной задаче», теперь при запуске АБД пишет ошибку соединения с сервером и ссылается на старый IP .
Программа «Монитор» выдаёт ошибку «Error: Ошибка приложения: Недопустимое имя столбца «DokumSeries»»
DruG,
При отключении DHCP, сеть просто напросто теряется…
- DruG
- Активный участник
- DruG
- Активный участник
- Репутация: 140
- Сообщения: 1716
- Зарегистрирован: 03.03.2016
- С нами: 7 лет 3 месяца
- Профессия: безобразнорабочий
Непрочитанное сообщение #72 DruG » 25.07.2016, 15:45
Brat_Egora, ну так при отключении, ИП-адрес присваивается какой-нить 168.254… что явно не из вашей сети, т.е. ручками надо нормальный прописать. Или позвать на помощь ребят из ИТ-отдела, они то должны знать что и как делать
- Brat_Egora
- Brat_Egora
- Репутация: 0
- Сообщения: 8
- Зарегистрирован: 30.05.2016
- С нами: 7 лет
- Профессия: Инженер
Непрочитанное сообщение #73 Brat_Egora » 25.07.2016, 16:06
DruG,
Спасибо! Вопрос с DHCP решен. IP поменял на тот, что был раньше. Спасибо ребятам с IT отдела.
Теперь АБД ругается на «недопустимое имя объекта». Оболочка начала выдавать ошибку «Error: Ошибка 12142. Необходимо добавить данное рабочее место в базу данных». Не пойму где его менять…
Поискал на форуме, ничего толкового не нашёл. Все ключи вставлены и не снимались. Рабочее место находится под видеонаблюдением.
- Mixail 51
- Активный участник
- Mixail 51
- Активный участник
- Возраст: 42
- Репутация: 102
- Сообщения: 2810
- Зарегистрирован: 21.03.2015
- С нами: 8 лет 3 месяца
- Профессия: инженер по ПБ
- Откуда: г. Мурманск
Непрочитанное сообщение #76 Mixail 51 » 25.07.2016, 16:56
Открываете АБД►выделяете курсором нужный компьютер с именем►внизу нажимаете на кнопку править►в инспекторе меняем поле TCP/IP►сохранить.
Добавлено спустя 9 минут 1 секунду:
По поводу отсутствия рабочего места в базе забыл написать, выдержка из РЭ на АРМ стр.197:
Чтобы добавить новый объект «Рабочее место», необходимо выбрать в дереве объектов объект
«Система» и нажать кнопку «Добавить» . Затем необходимо ввести значения для всех свойств
нового объекта «Рабочее место» (за исключением свойства «Настройки», которое настраивается
уже после добавления объекта) и нажать кнопку «Сохранить» .Стоит запомнить, что настройка свойства «Настройки» объекта «Рабочее место» возможна
только после того, как объект добавлен в систему.Чтобы изменить значения свойств объекта «Рабочее место», нужно выбрать в дереве объектов
необходимый объект и нажать кнопку «Править» . Затем необходимо изменить значения
требуемых свойств объекта и нажать кнопку «Сохранить» .
Не ошибается только тот кто не работает.
-
- 4
- 448
pet-and
Перейти к последнему сообщению
29.09.2021, 06:08
-
- 8
- 2163
DruG
Перейти к последнему сообщению
11.03.2019, 14:31
-
- 12
- 6543
DruG
Перейти к последнему сообщению
11.04.2022, 17:54
-
- 1
- 1399
google
Перейти к последнему сообщению
25.02.2019, 09:17
-
- 0
- 2166
graunf
Перейти к последнему сообщению
08.11.2018, 16:30
-
- 1
- 643
DruG
Перейти к последнему сообщению
12.05.2020, 06:36
-
- 1
- 1012
Shym
Перейти к последнему сообщению
31.01.2020, 19:55
-
- 3
- 589
DruG
Перейти к последнему сообщению
21.12.2021, 17:31
-
- 1
- 198
5pconet
Перейти к последнему сообщению
11.02.2023, 16:44
-
- 0
- 362
deadbeat321
Перейти к последнему сообщению
16.12.2022, 17:00
Вернуться в «АРМ Орион Про версии до 1.20»
Кто сейчас на форуме
Сейчас этот раздел просматривают: 1 гость
YFKoenigsegg 1 / 1 / 0 Регистрация: 06.10.2018 Сообщений: 161 |
||||||||
1 |
||||||||
Недопустимое имя столбца19.02.2020, 14:48. Показов 11379. Ответов 8 Метки нет (Все метки)
Добрый день. Использую Entity Framework при сохранении пользователя в БД:
Но вот в строке
выбрасывается исключение, которое гласит, что «Недопустимое имя столбца Id». Подскажите пожалуйста, как пофиксить.
0 |
bite 3750 / 3255 / 710 Регистрация: 13.04.2015 Сообщений: 7,565 |
|
19.02.2020, 14:58 |
2 |
Подскажите пожалуйста, как пофиксить. Понятно как — ввести допустимое имя столбца.
0 |
621 / 385 / 135 Регистрация: 06.03.2017 Сообщений: 1,447 |
|
19.02.2020, 15:01 |
3 |
Было бы неплохо глянуть на саму бд. А так только гадать. Ну и не видно, где передается парамет для Id
0 |
YFKoenigsegg 1 / 1 / 0 Регистрация: 06.10.2018 Сообщений: 161 |
||||
19.02.2020, 16:00 [ТС] |
4 |
|||
А параметр Id я не передаю, тк он используется в качестве автоинкремента при добавлении новой записи в БД.
0 |
798 / 581 / 207 Регистрация: 21.02.2019 Сообщений: 2,095 |
|
19.02.2020, 16:35 |
5 |
YFKoenigsegg,
0 |
YFKoenigsegg 1 / 1 / 0 Регистрация: 06.10.2018 Сообщений: 161 |
||||||||||||||||
19.02.2020, 18:54 [ТС] |
6 |
|||||||||||||||
Да, в этом классе это поле есть(его там я поставил с той целью, чтобы потом получить Id из базы данных — а надо ли создавать прямо целое поля для этого или надо без него?), а если я убираю
Код класса UserClient:
Добавлено через 1 час 30 минут
и подключил:
и убрал вовсе полe Id
0 |
11509 / 7857 / 1194 Регистрация: 21.01.2016 Сообщений: 29,464 |
|
20.02.2020, 06:53 |
7 |
Решил проблему.Добавил следующее: Это дичь. Для ключа нужно использовать отдельное поле с INT или GUID.
3 |
YFKoenigsegg 1 / 1 / 0 Регистрация: 06.10.2018 Сообщений: 161 |
||||
20.02.2020, 19:33 [ТС] |
8 |
|||
Всё, переделал.
0 |
11509 / 7857 / 1194 Регистрация: 21.01.2016 Сообщений: 29,464 |
|
21.02.2020, 01:54 |
9 |
Поле Id должно называться так же, как и имя столбца(то есть UserId): Не обязательно. Этот момент настраивается.
0 |
I suspect that you have two tables with the same name. One is owned by the schema ‘dbo’ (dbo.PerfDiag
), and the other is owned by the default schema of the account used to connect to SQL Server (something like userid.PerfDiag
).
When you have an unqualified reference to a schema object (such as a table) — one not qualified by schema name — the object reference must be resolved. Name resolution occurs by searching in the following sequence for an object of the appropriate type (table) with the specified name. The name resolves to the first match:
- Under the default schema of the user.
- Under the schema ‘dbo’.
The unqualified reference is bound to the first match in the above sequence.
As a general recommended practice, one should always qualify references to schema objects, for performance reasons:
-
An unqualified reference may invalidate a cached execution plan for the stored procedure or query, since the schema to which the reference was bound may change depending on the credentials executing the stored procedure or query. This results in recompilation of the query/stored procedure, a performance hit. Recompilations cause compile locks to be taken out, blocking others from accessing the needed resource(s).
-
Name resolution slows down query execution as two probes must be made to resolve to the likely version of the object (that owned by ‘dbo’). This is the usual case. The only time a single probe will resolve the name is if the current user owns an object of the specified name and type.
[Edited to further note]
The other possibilities are (in no particular order):
- You aren’t connected to the database you think you are.
- You aren’t connected to the SQL Server instance you think you are.
Double check your connect strings and ensure that they explicitly specify the SQL Server instance name and the database name.