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

Откуда:
Сообщений: 679
Всем привет !

При попытке передать значение NULL для переменной типа BIGINT в SQLCLR функцию получаю сообщение об ошибке
failed because parameter 17 is not allowed to be null.

В случае NVARCHAR и DATETIME все работает корректно.

Как исправить проблему ?
15 авг 11, 11:56    [11118888]     Ответить | Цитировать Сообщить модератору
 Re: Передача NULL параметра в CLR  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Testor1
Всем привет !

При попытке передать значение NULL для переменной типа BIGINT в SQLCLR функцию получаю сообщение об ошибке
failed because parameter 17 is not allowed to be null.

В случае NVARCHAR и DATETIME все работает корректно.

Как исправить проблему ?
Тебе правильно отвечено...
failed because parameter 17 is not allowed to be null.
Посмотри DDL таблицы...
15 авг 11, 12:00    [11118923]     Ответить | Цитировать Сообщить модератору
 Re: Передача NULL параметра в CLR  [new]
Testor1
Member

Откуда:
Сообщений: 679
Владимир СА,

Не понял ответа. Можно пояснить ?
15 авг 11, 12:19    [11119078]     Ответить | Цитировать Сообщить модератору
 Re: Передача NULL параметра в CLR  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
because parameter 17 is not allowed to be null
Потому что 17 параметр не должен быть пустым...
Посмотри, какое поле соответствует... Ты наверное в таблицу записи добавляешь... Посомтри поля таблицы... Разрешено ли полю Null значение?
15 авг 11, 12:25    [11119131]     Ответить | Цитировать Сообщить модератору
 Re: Передача NULL параметра в CLR  [new]
Testor1
Member

Откуда:
Сообщений: 679
Владимир СА,

Я не в таблицу записываю значение а в функцию передаю значение

проблема решилась после того как изменил тип входного параметра с Int64 на SqlInt64
15 авг 11, 12:32    [11119200]     Ответить | Цитировать Сообщить модератору
 Re: Передача NULL параметра в CLR  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Testor1
Владимир СА,

Я не в таблицу записываю значение а в функцию передаю значение

проблема решилась после того как изменил тип входного параметра с Int64 на SqlInt64
А функция что делает?
15 авг 11, 12:34    [11119224]     Ответить | Цитировать Сообщить модератору
 Re: Передача NULL параметра в CLR  [new]
Testor1
Member

Откуда:
Сообщений: 679
Владимир СА,

Вызывает WCF метод
15 авг 11, 12:42    [11119288]     Ответить | Цитировать Сообщить модератору
 Re: Передача NULL параметра в CLR  [new]
Владимир СА
Member

Откуда:
Сообщений: 7915
Testor1
Владимир СА,

Вызывает WCF метод
Интересно... В WCF ошибки не было. А скорее всего именно там происходит либо вставка, либо выборка, либо изменение данных.
Т.е. скорее всего у Вас в в CLR (C#,VB.NET) имеет место ошибка. И Вы при этом обращаетесь в раздел MS SQL... Не странно ли?
15 авг 11, 12:47    [11119331]     Ответить | Цитировать Сообщить модератору
 Re: Передача NULL параметра в CLR  [new]
Glory
Member

Откуда:
Сообщений: 104751
Testor1
проблема решилась после того как изменил тип входного параметра с Int64 на SqlInt64


public struct Int64 : IComparable, IFormattable, IConvertible, IComparable<long>, IEquatable<long>
public struct SqlInt64 : INullable, IComparable

вопросы есть ?
15 авг 11, 12:47    [11119338]     Ответить | Цитировать Сообщить модератору
 Re: Передача NULL параметра в CLR  [new]
Testor1
Member

Откуда:
Сообщений: 679
Glory
Testor1
проблема решилась после того как изменил тип входного параметра с Int64 на SqlInt64


public struct Int64 : IComparable, IFormattable, IConvertible, IComparable<long>, IEquatable<long>
public struct SqlInt64 : INullable, IComparable

вопросы есть ?


Спасибо.
Откуда эту инфо взял ?
15 авг 11, 13:35    [11119749]     Ответить | Цитировать Сообщить модератору
 Re: Передача NULL параметра в CLR  [new]
Glory
Member

Откуда:
Сообщений: 104751
Все из хелпа
http://msdn.microsoft.com/en-us/library/system.data.sqltypes.inullable%28v=VS.71%29.aspx
15 авг 11, 13:38    [11119779]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить