Използване на 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