Я работаю в SSIS и хочу выбрать значение из функции в базе данных PostgreSQL. (Этот пакет SSIS извлекает данные из базы данных PostgreSQL для обработки в хранилище данных. Функция здесь просто устанавливает флаг состояния в таблице в базе данных PostgreSQL.)Значение не входит в ожидаемый диапазон в ssis ... а?
Функция возвращает один символ ('Y' или 'N'). Я выполняю его с помощью SQL Task, выдавая инструкцию «select edw_processing_start_process from;».
Заявление работает в том смысле, что флаг успешно включен в базу данных PostgreSQL. Но задача SQL возвращает ошибку в заголовке этого вопроса. (Я искал эту ошибку, нашел множество ссылок, но никто из них, похоже, не относится к этой точной ситуации ... Я думаю, что это появляется во многих инструментах Microsoft.)
ResultSet задачи SQL set в Single row, переменная, заданная для строкового типа данных. Помимо этого, я действительно не знаю, что происходит.
Спасибо, --sw
Сначала попробуйте взять возвращаемое значение как объект (например, набор записей ADO), а не строку и посмотреть, выполняется ли она ОК. Возможно, определение метаданных PostgreSQL строки не соответствует определению SSIS строки. Возможно, даже вернитесь на шаг и вообще не поймите результат, просто чтобы убедиться, что это проблема. –
Я делаю что-то подобное, он работал с PGNP, но с psqlodbc в качестве драйвера он терпит неудачу. Я отправлю ответ ниже, если я это выясню. – influent