Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ошибка при подключении к Oracle через ODBC / 2 сообщений из 2, страница 1 из 1
16.08.2005, 13:15
    #33217846
Big17
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при подключении к Oracle через ODBC
В следующем коде возникает ошибка No columns where bound prior to calling SQLFetchScroll

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
	cdb.Open("TEST");
	if (cdb.IsOpen())
	{
		try
		{
			CRecordset cr(&cdb);

			cr.Open(CRecordset::snapshot, "SELECT * FROM TABLE"); 

			cr.Close();


		}
		catch(CDBException cdb)
		{
			AfxMessageBox(cdb.m_strStateNativeOrigin);
		}
	}


если точнее, то в строке

Код: plaintext
1.
cr.Open(CRecordset::snapshot, "SELECT * FROM ASQ_MATERIALS"); 

Подключаюсь к Oralce 8.1.7 через ODBC-драйвер (пробовал разные драйвера для оракла - результат одинаковый). В режиме CRecordset::forwardOnly все работает хорошо, а вот как только CRecordset::snapshot - получается упомянутая ошибка.

Что делать?
...
Рейтинг: 0 / 0
16.08.2005, 13:53
    #33217975
Big17
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при подключении к Oracle через ODBC
Разобрался сам. Кстати таже ошибка происходит не только с Oracle, но и с MS SQL Server'ом. Я неправильно открывал соединение с базой данных, точнее, неправильно указывал последний параметр в методе Open (по умолчанию, он TRUE).

Правильно так:
Код: plaintext
1.
cdb.Open("TEST", FALSE, FALSE, _T("ODBC;UID=TEST;PWD=TEST"), FALSE);

Вот что говорит по поводу последнего параметра MSDN:
MSDN
bUseCursorLib
TRUE if you want the ODBC Cursor Library DLL to be loaded. The cursor library masks some functionality of the underlying ODBC driver, effectively preventing the use of dynasets (if the driver supports them). The only cursors supported if the cursor library is loaded are static snapshots and forward-only cursors. The default value is TRUE. If you plan to create a recordset object directly from CRecordset without deriving from it, you should not load the cursor library.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ошибка при подключении к Oracle через ODBC / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]