Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемы с записью в поле Nvarchar / 7 сообщений из 7, страница 1 из 1
13.03.2013, 10:10
    #38182572
rihel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в поле Nvarchar
Я передаю в метод 4 string, вытащенные из XML-файлов. Пытаюсь сохранить в базу нижеследующим способом. Формат данных в базе nvarchar(max).
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
                   
using (SqlCommand command = sqlConn.CreateCommand())
                    {
                        command.CommandTimeout = 60;
                        command.CommandType = CommandType.StoredProcedure;
                        command.CommandText = @"dbo.Save2DB";
                        
                        SqlParameter firstXmlSQL = new SqlParameter("@firstXml", SqlDbType.NVarChar) { Value = firstXml};
                        SqlParameter secondXmlSQL = new SqlParameter("@secondXml", SqlDbType.NVarChar) { Value = secondXml};
                        SqlParameter thirdXmlSQL = new SqlParameter("@thirdXml", SqlDbType.NVarChar) { Value = thirdXml };
                        SqlParameter fourthXml SQL = new SqlParameter("@fourthXml", SqlDbType.NVarChar) { Value = fourthXml };                        

                        command.Parameters.Add(firstXmlSQL );
                        command.Parameters.Add(secondXmlSQL ); 
                        command.Parameters.Add(thirdXmlSQL );                                               
                        command.Parameters.Add(fourthXml );                        

                        command.ExecuteNonQuery();
                        command.Dispose();
                    }


Самое интересное, что запись данных осуществляется без каких-либо проблем - но на выходе поля, в которые должны были быть записаны данные пустые. Не null, а пустые. Почему так и как мне добиться, чтобы данные записывались?

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
13.03.2013, 11:18
    #38182706
Syrex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в поле Nvarchar
На выходе из процедуры?
...
Рейтинг: 0 / 0
13.03.2013, 12:09
    #38182841
rihel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в поле Nvarchar
Все ок. причем если взять и вбить не полметровый контент xml-файла, а ручками вбить небольшую строку - он ее сохраняет. Если писать данные из файлов - просто ноль в полях для данных.
...
Рейтинг: 0 / 0
14.03.2013, 03:39
    #38183119
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в поле Nvarchar
http://weblogs.asp.net/jeffwids/archive/2008/08/15/nvarchar-max-parameters-need-the-size-set-to-1.aspx
http://msdn.microsoft.com/en-us/library/bb399384.aspx (см. Using Large Value Type Parameters)
А для xml у MSSQL есть тип, который так и называется - xml. Для работы с ним из .net используется тип SqlXml.
...
Рейтинг: 0 / 0
14.03.2013, 10:16
    #38183303
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в поле Nvarchar
Через параметр большой текст передать не получится, а тип xml не может быть у параметра. Вроде бы не может.
Я загоняю xml произвольного размера через рекордсет.
...
Рейтинг: 0 / 0
14.03.2013, 11:08
    #38183410
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в поле Nvarchar
Antonariyа тип xml не может быть у параметра. Вроде бы не может.
Да ну? Странно, как же тогда у меня работает что-то типа вот такого:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SqlXml xdata = GetXData();
using (var cnn = GetService<IDbCommon>().Connection)
{
  using (var cmd = new SqlCommand("measures.upload_results", cnn))
  {
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.AddWithValue("@xdata", xdata);
    cmd.ExecuteNonQuery();
  }
}


Спокойно вливаются xml'и по 200-300 мегабайт.
...
Рейтинг: 0 / 0
14.03.2013, 12:39
    #38183596
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с записью в поле Nvarchar
Сон Веры ПавловныAntonariyа тип xml не может быть у параметра. Вроде бы не может.
Да ну? Странно, как же тогда у меня работает что-то типа вот такого:Ну и отлично, значит может.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемы с записью в поле Nvarchar / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]