Здравствуйте Izverg, Вы писали:
I>Здравствуйте retalik, Вы писали:
R>>Здравствуйте Izverg, Вы писали:
I>>>Подскажиет, кто знает..
I>>>Проблема:
I>>>Испульзуя класс CRecordset подключаюсь через ODBC к Oracle'кой базе.....
I>>>Все норамально работает если использую "Oracle ODBC Drivers"
I>>>когда же стал подклюсаться через "Microsoft ODBC for Oracle"..выдаеться постоянно ошибка
I>>>"No columns were bound prior to calling SQLFetchScroll/SQLExtendedFetch"
I>>>Кто знает подскажите, так как надо обязательно под microsoft'овским подключаться....
R>>Давно это было... Вроде, драйвер ODBC старенький попался. Поставь MDAC 2.6 и сообщи результат :)
R>>ЗЫ: А вообще-то, ораклиный быстрее был! Только желательно тоже с technet.oracle.com скачать поновее.
I>Да ставил и 2.6 и 2.7 beta пробовал, все равно ни как..:(
У меня установлен, по-моему, MDAC 2.5 (с SP4).
Решил я, значит, проверить это дело. Сляпал тестовый проектик, запускаю — а он мне такую же ошибку выдает!
Найдя челюсть где-то на полу, я немного исправил вызов CRecordset::Open. Такой код работает:
CDatabase db;
db.Open("Ora"); // dsn указывает на Microsoft ODBC for Oracle, v. 2.573.4403.00 от 25.08.00
CRecordset rs(&db);
rs.Open(CRecordset::forwardOnly, "SELECT SIN(.5) s FROM dual");
CString val;
if(rs.IsEOF()) val="Eof!";
else rs.GetFieldValue("S", val);
MessageBox(val);
Первоначально было так:
rs.Open(AFX_DB_USE_DEFAULT_TYPE, "SELECT SIN(.5) s FROM dual");
Если проблемы остаются, код — в студию! :)