No Image

Источник ошибки net sqlclient data provider

14 просмотров
05 мая 2020

Я относительно новым для SQL и разработчик я учусь от только часть времени, и очень трудно ухватить, к сожалению. Может кто-нибудь помочь мне понять, что не так с Query ниже, и предложить какие-либо исправления, которые могут быть необходимы?

Вы должны дать пользователю в правах вопрос, чтобы выбрать из этих таблиц (ы).

Это не имеет ничего общего с самим запросом (с учетом права доступа)

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

Ваш пользователь Не должен выберите разрешение на столе

дать либо выберите разрешение или db_readonly пользователю

Доброго времени суток всем! К сожалению мне плоховато дается SQL. В общем то проблема следующая. Есть у меня небольшая табличка. Есть там столбцы "Дата" и "Смена". Дата пишется со временем, дата особого значения не имеет, а вот время да. Есть 3 варианта: XXXX-XX-XX 00:00:00.000, XXXX-XX-XX 08:00:00.000 и XXXX-XX-XX 16:00:00.000. В зависимости от того какое из этих времен стоит должно быть значение 1,2 или 3 в столбике "Смена". Написал я следующий код:

Вытаскиваю тут время из datetime, проверяю его и соответственно присваиваю значение. Если запускать этот код просто как запрос, то значения меняются. А вот если запускать его триггером, то вылезает ошибка:

Строки не были обновлены.

Данные в строке 3 не были зафиксированы. Источник ошибки: .Net SqlClient Data Provider. Сообщение об ошибке: Вложенный запрос вернул больше одного значения. Это запрещено, когда вложенный запрос следует после =, !=, , >= или используется в качестве выражения.

Выполнение данной инструкции было прервано.

Насколько я понял по гуглу, проблема моя в том, что этот триггер будет работать только если в таблице есть одна строка, а если их несколько то запрос возвращает несколько значений и соответственно падает. Далее насколько я понял, проблема решается с помощью команд IN, JOIN или EXISTS, но вот как их применить кокнретно к своему случая я вообще не понимаю. В интернете есть примеры, но по ним к сожалению не получается.

Читайте также:  Radeon m5 r330 драйвер

У меня очень странная проблема.

Когда я пытаюсь подключить свою базу данных (расположенную на общем SQL Server) с SQL Server Management Studio 2008/2012. Эта база данных, размещенная компанией для веб-хостинга, я получаю эту очень странную ошибку:

Невозможно подключиться к tango.rdb.superhosting.bg.

Ошибка входа для пользователя ‘database_administrator’. (Поставщик данных Net SqlClient)

Имя сервера: tango.rdb.superhosting.bg
Номер ошибки: 18456
Тяжесть: 14
Штат: 1
Номер строки: 65536

Несколько недель назад все работало идеально, и у меня не было никаких проблем с подключением SQL Server с SQL Server Management Studio 2008.

Когда я столкнулся с этой проблемой, я установил SQL Server Management Studio 2012, и результат будет таким же.

Но с абсолютными одинаковыми учетными данными я могу подключиться к моей базе данных на том же сервере, используя VS2010 или Toad для SQL.

Есть ли у вас какие-либо предложения?

Вероятно, это проблема для осиротевшего пользователя.

"database_administrator" входа может быть:

  • В самой базе данных. Просто перейдите к Logins под базой данных в SSMS.
  • Или, под Сервером → Логины безопасности.
  • Удалить вход, который существует в базе данных
  • Добавить вход под уровнем сервера Безопасность
  • Предоставить пользователю права на нужную ему базу данных

Существует множество способов решения проблемы осиротевших пользователей, но обычно это то, что я делаю.

Решение:

После установки сервера MS-Sql 2008 сервер Sql разрешен только для проверки подлинности Windows.

Для решения этой проблемы выполните следующие действия и включите пользователя sa в режиме проверки подлинности.

1) В проводнике объектов SQL Server Management Studio щелкните правой кнопкой мыши сервер и выберите "Свойства".

2) На странице "Безопасность" в разделе "Аутентификация сервера" выберите сервер Sql и режим проверки подлинности Windows, а затем нажмите "ОК" .

Читайте также:  Топовые ники для игр на английском

3) В диалоговом окне "Студия SQL Server Management Studio" нажмите "ОК" , чтобы подтвердить необходимость перезапуска SQL Server.

Чтобы перезапустить SQL Server из SQL Server Management Studio • В обозревателе объектов щелкните правой кнопкой мыши на своем сервере и выберите "Перезагрузка". Если агент SQL Server запущен, его также необходимо перезапустить.

4) Чтобы включить вход в систему sa с помощью Management Studio, в обозревателе объектов разверните "Безопасность", "Развернуть логины", щелкните правой кнопкой мыши sa и выберите "Свойства".

5) На странице "Общие" вам может потребоваться ввести новый пароль и подтвердить пароль для входа в систему sa.

6) На странице "Состояние" в разделе "Вход" нажмите "Включено", а затем нажмите "ОК" .

7), затем снова перезапустите SQL Server из SQL Server Management Studio

Комментировать
14 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock
detector