Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
7 / 7 / 1
Регистрация: 24.01.2017
Сообщений: 229

Sql запрос выполняется через SSMS, но падает при выполнении из кода C#

24.12.2018, 10:26. Показов 2009. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять причину. Выпадает SqlException, но в нём нет текста ошибки. Просто пустая строка в Message.
Версия сервера SqlServer 10.50.1600.
Сам запрос это хранимка, кода которой я не знаю и не могу посмотреть.

Кто-нибудь сталкивался с подобным?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.12.2018, 10:26
Ответы с готовыми решениями:

Добавить таблицу к столбцу в выборке результатов при выполнении запросов через Ssms
Добрый день. Подскажите может есть настройки чтобы при запросе select * from person left join groups g on g.groupid =...

[SSMS] SQL Server запрос
http://i.**********/v1xwCDb.png Есть таблица с контрактами, необходимо вывести след. поля: id контракта(Id), Ф.И....

Запрос выполняется или нет при изменении кода PHP?
Я запутался. Написал запрос на удаление строки из таблицы используя PHP. Строка удалилась. Закомментировал этот код, и строка вновь...

29
113 / 89 / 26
Регистрация: 11.12.2018
Сообщений: 331
24.12.2018, 13:40
Студворк — интернет-сервис помощи студентам
Мды, что-то явно не того.
Попробуйте передать вручную сформированную строку даты (без date.ToString), а так же используя ADD вместо AddWithValue. Упростить до предела.
Примерно так

C#
1
2
command.Parameters.Add("@date", SqlDbType.NVarChar);
command.Parameters["@date"].Value = "24-12-2018";
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
24.12.2018, 13:42
судя по коду ошибки, вы либо посмотрели только одну ошибку, а их было больше, либо в Вашей процедуре генерируется ошибка (возможно через RAISERROR какой) и туда передаются неверные параметры т.к 50000 номер говорит о неправильной работе с выводом ошибки, не тот код передали, или вообще не передали. Для большего понимая нужен код самой процедуры + код полный из C# вместе с обработкой ошибки с Вашей стороны (именно код, а не на словах)
0
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
24.12.2018, 13:45
SharpProg, возможно, exec не поддерживается библиотекой SqlClient. Попробуйте всё-таки выполнить хранимку так, как это показано в ссылке, что вам кидал Usaga.
0
113 / 89 / 26
Регистрация: 11.12.2018
Сообщений: 331
24.12.2018, 13:55
Цитата Сообщение от SharpProg Посмотреть сообщение
Цитата Сообщение от pincet Посмотреть сообщение
зарадидля прикола выполни процедуру с '20181224' захардкоженым
вот здесь
Всё равно упала. Через SSMS выполнилась нормально.
Не понял, через SSMS процедура выполняется правильно в обоих случаях?

C#
1
2
EXEC [dbo].[myProc] '01-11-2018'
EXEC [dbo].[myProc] '20181224'
0
7 / 7 / 1
Регистрация: 24.01.2017
Сообщений: 229
24.12.2018, 14:15  [ТС]
Цитата Сообщение от SeIZVeIZ Посмотреть сообщение
судя по коду ошибки, вы либо посмотрели только одну ошибку, а их было больше, либо в Вашей процедуре генерируется ошибка (возможно через RAISERROR какой) и туда передаются неверные параметры т.к 50000 номер говорит о неправильной работе с выводом ошибки, не тот код передали, или вообще не передали. Для большего понимая нужен код самой процедуры + код полный из C# вместе с обработкой ошибки с Вашей стороны (именно код, а не на словах)
Вот про RAISERROR я тоже уже думал, но не пойму какая связь и причина его срабатывания может быть.
Кода процедуры у меня нет.
Весь код + обработка - это слишком много строк. Тем более, что вызов происходит в отдельном потоке и сообщение потом пробрасывается через диспетчер UI-потока пользователю.
Ошибка в Errors только одна, это точно, её я написал. Код вызова процедуры я выше написал полностью.

Цитата Сообщение от OttoFix Посмотреть сообщение
Попробуйте передать вручную сформированную строку даты (без date.ToString), а так же используя ADD вместо AddWithValue. Упростить до предела.
Пробовал. DbType у меня AnsiStringFixedLength, а Size = 10.

Добавлено через 41 секунду
Цитата Сообщение от OttoFix Посмотреть сообщение
Не понял, через SSMS процедура выполняется правильно в обоих случаях?
Да.
0
113 / 89 / 26
Регистрация: 11.12.2018
Сообщений: 331
24.12.2018, 14:24
Цитата Сообщение от SharpProg Посмотреть сообщение
AnsiStringFixedLength, а Size = 10.
Что-то не сходится, почему именно этот тип? и этот размер?
'20181224' - тут далеко не 10 символов.
Поиграйтесь с типом данных.
0
7 / 7 / 1
Регистрация: 24.01.2017
Сообщений: 229
24.12.2018, 14:38  [ТС]
Да, ошибся, просто AnsiString, а Size = 10.
Но от этого ничего не меняется. Sql просто применяет неявное приведение типов в таких случаях.
0
113 / 89 / 26
Регистрация: 11.12.2018
Сообщений: 331
24.12.2018, 14:46
Дело в том, что если у Вас процедура отрабатывает '01-11-2018' и '20181224', значит в ней явно происходит конвертация charTodate. Может стоит предать в юникоде?
Посмотреть можно, что приходит на SQL сервер?
0
7 / 7 / 1
Регистрация: 24.01.2017
Сообщений: 229
24.12.2018, 14:49  [ТС]
Цитата Сообщение от OttoFix Посмотреть сообщение
Дело в том, что если у Вас процедура отрабатывает '01-11-2018' и '20181224', значит в ней явно происходит конвертация charTodate. Может стоит предать в юникоде?
Тип параметра объявлен как varchar(10), т.е. это не юникод. В юникоде я тоже пробовал).
Что там внутри мне не известно.
0
113 / 89 / 26
Регистрация: 11.12.2018
Сообщений: 331
24.12.2018, 14:52
Всё, экстрасенс во мне умер
Пытайте админа сервера.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.12.2018, 14:52

Запрос к MySQL. Через WorkBench запрос выполняется, а через клиента - нет
Добрый день! Помогите с запросом! string CommandText = "SELECT * FROM sensors WHERE sensors.VehID=1001317"; ...

Падает Сервер При Выполнении Агента На Сервере
Всем привет! Если в процессе выполнения агента случается какая то ошибка(опытным путем выяснено: падает при любой ошибке. Например если...

Запрос из кода отличается в поведении при запросе из SQL
Доброго времени суток! Есть запрос, который показывает кол-во работников, не получивших зарплату за указанный промежуток времени (к...

Не выполняется SQL-запрос
Подскажите, не выполняется sql зарос по кнопке. procedure TMainForm.Button1Click(Sender: TObject); begin ADOQuery1.SQL.Clear;...

Не выполняется SQL запрос
Есть обработчик события нажатия кнопки, в котором выполняется следующий код: protected void btn_save_work_time_Click(object sender,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru