ODBC driver not support dynasets

esr
Дата: 04.06.2012 23:54:01
Работаю с рекордсетом (таблицей) БД FireBird через ODBC. При попытке открыть, получаю "ODBC driver not support dynasets"
Если поставить snapshot, то все нормально. Но мне нужна запись в таблицу, т.е. dynaset.
Кто-нибудь знает куда копать? Другой ODBC установить ?
Программа - на C++, MFC
Dimitry Sibiryakov
Дата: 04.06.2012 23:56:37

esr
Кто-нибудь знает куда копать?

В сторону запросов INSERT, UPDATE, DELETE. Они, знаешь ли, единственный способ записать
что-то в таблицу...

Posted via ActualForum NNTP Server 1.5

esr
Дата: 05.06.2012 00:14:21
Dimitry Sibiryakov
esr
Кто-нибудь знает куда копать?

В сторону запросов INSERT, UPDATE, DELETE. Они, знаешь ли, единственный способ записать
что-то в таблицу...

А что, для FireBird через ODBC подключиться нельзя, чтоб класс MFC использовать (полноценный dynaset)?
У меня проект может работать с разными БД. А вот FireBird первый раз попалась. Не осилю всё на INSERT переделать в разумные сроки нереально.
Гаджимурадов Рустам
Дата: 05.06.2012 00:24:24

esr> Не осилю всё на INSERT переделать в разумные сроки нереально.

За русский язык твердая пятерка, конечно.

P.S. Задайте нормально вопрос - какой снапшот,
что "поставить", приведите описание чего делаете,
желательно с куском кода и т.д.

Posted via ActualForum NNTP Server 1.5

esr
Дата: 05.06.2012 00:40:22
Гаджимурадов Рустам
За русский язык твердая пятерка, конечно.
P.S. Задайте нормально вопрос - какой снапшот,

Рустам, да бог с ним, с русским языком - он у меня родной в седьмом колене и по всем кровным линиям. По возможности, постараюсь ошибок впредь не делать, но опечатки могут быть.

Кто пишет на MFC,поймет наверное что за снапшот.
Так кто-нибудь писал интерфейс к БД FierBird на Microsoft C++ c использованием классов MFC ODBC ? Что за фигня с динасетом? Как справиться ?
Dimitry Sibiryakov
Дата: 05.06.2012 00:42:38

esr
Так кто-нибудь писал интерфейс к БД FierBird на Microsoft C++ c использованием классов MFC
ODBC ?

Вероятность существования таких извращенцев в природе - 0%.

Posted via ActualForum NNTP Server 1.5

esr
Дата: 05.06.2012 00:56:49
[/quot]
Вероятность существования таких извращенцев в природе - 0%.
[/quot]
Не понял Вас ? А как правильно по вашему мнению надо существовать ?
kdv
Дата: 05.06.2012 01:02:51
тут дело не в том, писал кто-то или не писал. Динасеты предъявляют к драйверу ряд требований, например, одно из них это
http://msdn.microsoft.com/en-us/library/ka47a5az.aspx
"For updatable dynasets, your ODBC driver must support either positioned update statements or the ::SQLSetPos ODBC API function. If both are supported, MFC uses ::SQLSetPos for efficiency."
Из описания SQLSetPos я вроде вижу, что драйвер должен сам поддерживать буферизацию датасета (как минимум), иначе позиционироваться на конкретную запись в выборке он не может. Либо эту фичу должен поддерживать сервер, а ФБ это не поддерживает.
Собственно, вот оно и есть
"Positioned updates use SQL syntax (of the form WHERE CURRENT OF <cursorname>) to identify a particular row in the table on the data source. To determine whether your driver supports positioned updates, call ::SQLGetInfo with the SQL_POSITIONED_STATEMENTS parameter."
hvlad
Дата: 05.06.2012 01:11:22
kdv,

Firebird прекрасно поддерживает positioned updates.
Dimitry Sibiryakov
Дата: 05.06.2012 01:13:49

esr
Не понял Вас ?

Перевожу: ты один такой в мире. Поэтому рассчитывать, что кто-то ответит на твой вопрос -
абсолютно бесполезно.

Posted via ActualForum NNTP Server 1.5