Я новичок в SSIS и не могу передать параметры OLE DB Source. Я хочу запросить данные для заданного диапазона дат.Передача параметров в OLE DB SOURCE
У меня есть две переменные, переменная1 типа данных Дата Время и значение переменной задается выражением DATEADD("day", -1, GETDATE())
. variable2 типа данных Дата Время и значение переменной задается выражением DATEADD("day", 0, GETDATE())
Внутри ИБП OLE DB для режима доступа к данным задана команда SQL, ниже приведен код SQL.
Select Col1, col2, col3, col4, coldate where Col1 = 'abc' and coldate between convert(varchar(10), ?, 101) and convert(varchar(10), ?, 101)
Я сопоставляются параметры, как
Parameter0, User :: Variable1, вход
параметр1, User :: Variable2, вход
Когда я ударил просмотра, я получаю сообщение об ошибке
"There was an error displaying the preview
Additional Information: No Value given for one or more required parameters. (Microsoft SQL Server Native Client 11.0)"
Когда я отлаживать задачу ошибки я получаю
[OLE DB Source [38]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E21. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E21 Description: "Invalid character value for cast specification".
Примечание: тип_данное для столбца coldate является DateTime
Пожалуйста помогите мне решить эту проблему. Я смог успешно запросить команду SQL из режима доступа к данным из переменной внутри OLE DB Source, но меня попросили не использовать режим доступа к данным в качестве команды SQL. Спасибо.
Синтаксис DATEADD: 'DATEADD (день, -1, GETDATE())' –
Я получаю сообщение об ошибке, если я использую синтаксис DATEADD (день, -1, GETDATE()) в SSIS. http://msdn.microsoft.com/en-us/library/ms141719.aspx – Sezera
Если ColDate является datetime, почему вы преобразовываете свои параметры в varchar в свой запрос? Что произойдет, если вы выберете функции преобразования? –