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

Откуда:
Сообщений: 1480
Есть простой скрипт который заполняет таблицу, использую CAST'ы (преобразования типов) в нескольких местах.
Выполняется через SQLTask в пакете IntegrationServices.
Если этот пакет запускать вручную (как в 64 битном режиме, так и в 32х) - все проходит ОК.
При запуске его же через Job вылазит такая ошибка: "Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы диапазона."

Может быть кто нибудь сталкивался? Очень странно что ошибка вылазит именно в джобе!
21 июл 14, 09:38    [16333214]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с джобом?  [new]
Santa89
Member

Откуда:
Сообщений: 1480
Запрос примерно такой (необходимо его оборачивать в текстовую переменную, а потом выполнять как запрос:)

set @query = 
'
truncate table dbo.table
insert into Odbo.table
                      
      select ob.кредит_id ,ob.система_id,ob.вид_обеспечения,r.in_restncur
      from [dbo].[кредиты_обеспечение] ob
      join [dbo].[остатки_на_счетах] r
      on r.id=ob.лицевой_cчет_id and r.date=cast(     dateadd(day,-1,''' + cast(dateadd(day,-Day(@dt),@dt) as varchar(30)) + ''')     as date)
'

execute(@query)


@dt это входящий параметр даты:
Declare @dt date=getdate()

Непонятно, почему в тексте ошибки написан тип datetime, ведь переменная с типом date
21 июл 14, 09:44    [16333252]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с джобом?  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
Santa89
Очень странно что ошибка вылазит именно в джобе!
Ничего странного. Конвертация в/из datetime зависит от языковых настроек соединения.
Замените
cast(dateadd(day,-Day(@dt),@dt) as varchar(30))
на
convert(varchar(30), dateadd(day,-Day(@dt),@dt), 112)
21 июл 14, 10:21    [16333559]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с джобом?  [new]
Santa89
Member

Откуда:
Сообщений: 1480
invm,

большое спасибо!
21 июл 14, 10:43    [16333715]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с джобом?  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2396
или в скрипте добавьте срочку
set dateformat ymd
21 июл 14, 10:51    [16333773]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить