powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как прочитать TIMESTAMP из Oracl'овской таблицы
4 сообщений из 4, страница 1 из 1
Как прочитать TIMESTAMP из Oracl'овской таблицы
    #33165501
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в следующем:
Работаю с Oracl'овской (9.2) БД из VC++, использую Oracl'овский ODBC драйвер.

В БД есть таблица с полем DOB типа TIMESTAMP(6).
Пытаюсь прочитать его значения приблизительно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
wchar_t szSQL[] = L"SELECT dob FROM test_table WHERE id = 1"
SQLLEN LenOrInd;
SQLHSTMT hStmt = SQL_NULL_HSTMT;
TIMESTAMP_STRUCT ts;
if (SQL_SUCCEEDED(retVal = SQLAllocHandle(SQL_HANDLE_STMT, hDbc, &hStmt)))
{
      if (SQL_SUCCEEDED(SQLBindCol(hStmt,  1 , SQL_C_TYPE_TIMESTAMP, &ts, sizeof(TIMESTAMP_STRUCT), &LenOrInd)))
      {
           SQLExecDirect(hStmt, szSQL, SQL_NTS);
           SQLFetch(hStmt);
           SQLCloseCursor(hStmt);
           SQLFreeHandle(SQL_HANDLE_STMT, hStmt);
      }
}

При вызове SQLFetch возникает ошибка: Access violation writing location 0x00000000.

Поля остальных типов читаются без проблем.
Что делать? Заранее благодарен. Пиво с меня.
...
Рейтинг: 0 / 0
Как прочитать TIMESTAMP из Oracl'овской таблицы
    #33165536
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем так...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
wchar_t szSQL[] = L"SELECT dob FROM test_table WHERE id = 1"
SQLLEN LenOrInd;
SQLHSTMT hStmt = SQL_NULL_HSTMT;
TIMESTAMP_STRUCT ts;
if (SQL_SUCCEEDED(retVal = SQLAllocHandle(SQL_HANDLE_STMT, hDbc, &hStmt)))
{
      if (SQL_SUCCEEDED(SQLBindCol(hStmt,  1 , SQL_C_TYPE_TIMESTAMP, &ts, sizeof(TIMESTAMP_STRUCT), &LenOrInd)))
      {
           if (SQL_SUCCEEDED(SQLExecDirect(hStmt, szSQL, SQL_NTS))
           {
                SQLFetch(hStmt);
                SQLCloseCursor(hStmt);
           }
      }
      SQLFreeHandle(SQL_HANDLE_STMT, hStmt);
}

Но это в общем не важно.
...
Рейтинг: 0 / 0
Как прочитать TIMESTAMP из Oracl'овской таблицы
    #33166071
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заменил в базе тип TIMESTAMP на DATE. Все заработало.
Спасибо всем.
...
Рейтинг: 0 / 0
Как прочитать TIMESTAMP из Oracl'овской таблицы
    #33166208
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_БалтикаЗаменил в базе тип TIMESTAMP на DATE. Все заработало.
Спасибо всем.
ну ты и сравнил тип полей! :)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как прочитать TIMESTAMP из Oracl'овской таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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