Я использую SQL Server с сервером Sybase, настроенным как связанный сервер.Sybase - SQL Linked server: параметр является неправильным при использовании переменной
я могу запросить таблицы связанного сервера с помощью этой
SELECT * FROM [LinkDb].[Database].[dbo].TABLENAME
Сегодня я столкнулся вопрос, когда я пытаюсь использовать переменные для фильтрации даты от и до значений.
я сузил его до этого запроса:
declare @dateVal nvarchar(90)
set @dateVal = (select convert(varchar, getdate(), 126) + '0000')
select * from [LinkDb].[Database].[dbo].TABLENAME
where datevalue >= '2014-10-06T00:00:00.0000000'
and datevalue <= @dateVal
который возвращает сообщение о ошибки:.
OLE DB provider "Sybase.ASEOLEDBProvider" for linked server "SSE" returned message "The parameter is incorrect.
»
Не уверен, что должно быть галочкой здесь, но это параметры поставщика для моего подключения Sybase.
Любая помощь очень ценится.
Можете ли вы запросить другой столбец в разделе where? –
@nikadim, если значения грамотны, то да, но если я попытаюсь использовать переменную в качестве значения, она выдает ошибку выше –
Будет ли эта работа: выбрать * из [LinkDb]. [База данных]. [Dbo] .TABLENAME где datevalue> = '2014-10-06T00: 00: 00.0000000'. Вы предоставляете 7 цифр за миллисекунды. Формат определяется шестью: ГГГГ-ММ-ДДХ: ММ: СС: SSSSSS. Это проблема? –