Использование BIDS для извлечения данных из источника Informix ODBC с параметрами

Как сказано в заголовке, я пытаюсь извлечь данные из моего источника Informix ODBC с параметрами. У меня есть два параметра, которые я пытаюсь передать. Оба являются DateTime, и я пытаюсь получить текущую дату начала, например 2014-10-10 00:00:00 и дату окончания 2014-10-10 23:59:59.

Если я сделаю это с помощью обычного запроса:

SELECT * FROM TABLENAME
WHERE STARTDATETIME BETWEEN '2014-10-10 00:00:00' AND '2014-10-10 23:59:59'

Все нормально работает. Однако, если я попытаюсь использовать заданные мной параметры:

SELECT * FROM TABLENAME
WHERE STARTDATETIME BETWEEN ? AND ?

Я получаю следующую ошибку:

Open Database Connectivity (ODBC) error occurred. state: '07001'. 
Native Error Code: -11012. [Informix][Informix ODBC Driver]Wrong number of parameters.

Я чувствую, что это связано с моим запросом, но я искал и ничего не нашел. Сможет ли кто-нибудь мне помочь? Спасибо!


person scapegoat17    schedule 10.10.2014    source источник


Ответы (1)


При использовании параметризованного запроса ('?') Требуется привязка. Вероятно, вы можете использовать ODBC API SQLBindCol для его привязки. Количество параметров в запросе (в данном случае 2) должно соответствовать количеству вызовов API привязки. Проверьте свой код ODBC, чтобы убедиться, что привязка выполнена правильно.

person Satyan    schedule 17.10.2014