Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как явно указать хранимой процедуре, что текст будет в Unicode  [new]
grey
Member

Откуда:
Сообщений: 23
приложение ASP.NET выполняет хранимую процедуру.
при передаче параметра указывается тип данных ntext.
в хранимой процедуре параметр задан как @param ntext
а при выолнении вместо символов кириллицы в таблицу записываются знаки вопроса, все остальные остаются оригинальными
21 май 04, 15:21    [693466]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
EXEC dbo.myProc N'пареметр'

?
21 май 04, 15:22    [693470]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
grey
Member

Откуда:
Сообщений: 23
то есть в приложении имя параметра писать в виде N'@param'? если так, то ничего не изменилось
21 май 04, 15:27    [693502]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
EXEC dbo.myProc @Param = N'текст передаваемый в ХП'
21 май 04, 15:30    [693507]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
grey
Member

Откуда:
Сообщений: 23
в хранимой процедуре выглядит так:
Update ...
....
columnOfTable = @param
перед @param gbcfnm N'... некорректно
21 май 04, 15:35    [693538]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Причем тут хранимка?
Я же ее запуск с клиента написал

Или я что-то не догнал?
21 май 04, 15:36    [693549]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
grey
Member

Откуда:
Сообщений: 23
понял что имели ввиду. но в приложении текст тоже неизвестен. он читается из XML (сразу предупреждаю: этот блок работает верно), поэтому в процедуру передается в виде EXEC proc @param = tempString
21 май 04, 15:37    [693553]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
А можно этот кусок клиента посмотреть?
21 май 04, 15:40    [693568]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
grey
Member

Откуда:
Сообщений: 23
public void UpdateData(int presentationID, string XMLDataOWC, string XMLDataDA, string XMLDataChart, bool OWCMinimized, bool DAMinimized, bool IsChart, bool bIsTreeMinimized)
{
SqlCommand cmd = _createCommand("bsp_UpdatePresentationData",CommandType.StoredProcedure);
cmd.Parameters.Add("N'@PresentationID'", SqlDbType.Int, 4, presentationID.ToString());
cmd.Parameters.Add("@XMLDataOWC", SqlDbType.NText, 16, XMLDataOWC);
cmd.Parameters.Add("@XMLDataDA", SqlDbType.NText, 16, XMLDataDA);
cmd.Parameters.Add("@XMLDataChart", SqlDbType.NText, 16, XMLDataChart);
cmd.Parameters.Add("@OWCMinimized", SqlDbType.Bit, 1, OWCMinimized?"1":"0");
cmd.Parameters.Add("@DAMinimized", SqlDbType.Bit, 1, DAMinimized?"1":"0");
cmd.Parameters.Add("@IsChart", SqlDbType.Bit, 1, IsChart?"1":"0");
cmd.Parameters.Add("@TreeMinimized", SqlDbType.Bit, 1, bIsTreeMinimized?"1":"0");
cmd.ExecuteNonQuery();
}

скажу точнее: это переделанная часть BIPortal_а, которая сохраняет View (чтобы при повторном открытии не пришлось снова "таскать" колонки на OWC)
21 май 04, 15:43    [693589]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
cmd.Parameters.Add("N'@PresentationID'", SqlDbType.Int, 4, presentationID.ToString());

Это что?
21 май 04, 15:45    [693609]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
grey
Member

Откуда:
Сообщений: 23
это я пробовал вашу мысль о @param = N'...' осуществить ничего не изменилось, но и ошибки не было
21 май 04, 15:50    [693625]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Пардон, так у вас же там Int передается - что-то я не фига не понял :(
21 май 04, 15:51    [693630]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
grey
Member

Откуда:
Сообщений: 23
просто тут не удалил, а менял я ВСЕМ полям, просто не удалил только у одного
21 май 04, 15:54    [693644]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Дык - может у вас данные уже клиент портит?
Стоит проверить
21 май 04, 15:56    [693661]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
grey
Member

Откуда:
Сообщений: 23
проверял (выводил на страницу значение переменной)
21 май 04, 15:58    [693675]     Ответить | Цитировать Сообщить модератору
 Re: как явно указать хранимой процедуре, что текст будет в Unicode  [new]
mokytojas
Member

Откуда:
Сообщений: 1
Посмотрите в профайлере, что шлет сиквелу .net sql client provider, когда отрабатывает Ваш клиентский код
21 май 04, 17:02    [693903]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить