![]() |
|
|
![]()
|
|
| Static |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 6.11.2008 Репутация: нет Всего: 2 |
Задача - писать файлы "как есть" в базу данных. Используется ODBC winapi. Т.е. - читаем файлик в буфер (fopen, fread) и пишем этот буфер в базу в поле типа long binary (длина данных в поле ограничена размером файла БД).
Так выглядит prepared satement:
А вот так я "приклеиваю" параметры:
Результат - не работает --------------------
Я не настолько безнадежен, как кажется... |
||||
|
|||||
| Static |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 6.11.2008 Репутация: нет Всего: 2 |
Так, немного разобрался.
ColumnSize - длина буфера данных, имеет значение только для char и binary. Последний параметр - не должен менятся в промежутке от SQLBindParameter до SQLExecute (ну это я уже накосячил от безысходности). BufferLength - пока непонятно. Для int и char - должен быть 0:
--------------------
Я не настолько безнадежен, как кажется... |
|||
|
||||
| Static |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 6.11.2008 Репутация: нет Всего: 2 |
Вот пример того, как надо передавать бинарные данные в базу.
У меня все отрабатывает нормально до последнего SQLParamData. Вызов функции не завершается и программа виснет :( Что не так? Ну хоть что-нибудь ответьте... Это сообщение отредактировал(а) Static - 22.1.2010, 10:39 --------------------
Я не настолько безнадежен, как кажется... |
|||
|
||||
| Static |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 6.11.2008 Репутация: нет Всего: 2 |
Мда, забыл отписаться - все получилось. Проблема была не там, где я ее искал. Нужно было настроить блокировку транзакций СУБД - получалось, что я следил из другой программы за содержимым базы, тем самым мешая ей выполнять мои запросы.
--------------------
Я не настолько безнадежен, как кажется... |
|||
|
||||
![]()
|
| Правила форума "C++: Базы данных" | |
|
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |