powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подскажите - чего не хватает Jet-у.
14 сообщений из 14, страница 1 из 1
Подскажите - чего не хватает Jet-у.
    #32738479
qwertyqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Set cMdbProf = New Adodb.Connection
Set comMdbProf = New Adodb.Command
Set MdbProf = New Adodb.Recordset
Set MdbErr = cMdbProf.Errors
cMdbProf.CursorLocation = adUseClient
cMdbProf.Mode = adModeReadWrite
cMdbProf.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\w\PD.mdb;Persist Security Info=False")
MdbProf.Open "select * from pr_of",cMdbProf, adOpenDynamic, adLockPessimistic, 1

Как только выполняется следующая команда (Ms DataGrid Control 6.0(SP6):
Set DataGrid1.DataSource = MdbProf

в MdbErr добавляется строка ошибки:
description "интерфейс не поддерживается"
helpcontext 1240640
NativeError -2147467262
number -2147467262
source "Provider"
sqlstate ""

таблица pr_of имеет индексы
индекс поле сортировка
id_obj id_obj по возрастанию не ключ;не уник.;нельзя пусто
PrimaryKey nom_reg_vi по возрастанию ключ;уник;нельзя пусто
id_predpr по возрастанию
id_ik по возрастанию
id_obj по возрастанию
UNO UNO по возрастанию не ключ;уник.;нельзя пусто

Мне подсказали - "была такая ситуация при нескольких установленных версиях MDAC. что-там путалось при создании объектов. это лучше выяснить в форуме VB - там плотнее занимаются ADODB"

Кто чего знает?
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32738516
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а причем здесь Jet?
конекшн создался?
рекордсет открылся?
мавр сделал свое дело, мавр может курить бамбук

с датагридом разбирайтесь.
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32738526
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тем более что датагрид в качестве датасорса нифига не ADODB.Recordset принимает (если меня кнопка Ф2 не обманывает)
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32738570
qwertyqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и конекшн создался
и рекордсет открылся
и даже в гриде отображаются данные,
а объекте err все равно появляется item c индексом 1 и содержит описание, которое привел - в нем же ясно кто отвечает - провайдер, а здесь он Microsoft.Jet.OLEDB.4.0.
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32740128
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вполне может быть, что провайдеру не нравится сочетание параметров adOpenDynamic, adLockPessimistic и "1".
Попробуй просто опустить эти параметры.
Код: plaintext
1.
 _________
Свет в конце тоннеля временно потушен по техническим причинам. 
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32741121
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DankovВполне может быть, что провайдеру не нравится сочетание параметров
гм.. а чего ж он тогда рекордсет открывает-то?

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

я бы посоветовал для начала 8-ой сервис-пак на джет поставить, да mdac 2.8
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32741135
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если комбинация параметров не поддерживается провайдером то рекордсет открывается с дефолтными.

Собственно adUseClient и adOpenDynamic - комбинация невозможная в принципе. Динамический курсор возможен только на сервере.

Magnus
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32741594
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, позор на мою седую голову. Все проспал.
Динамических курсоров в Jet-е нет и быть не может. А adUseClient для джетовского соединения смысл имеет, но приводит только к дополнительным расходам памяти, и ни к чему больше.

Magnus23Если комбинация параметров не поддерживается провайдером то рекордсет открывается с дефолтными.
неверное утверждение. для ADODB.Recordset дефолтный тип курсора - ForwardOnly, а попытка открыть Dynamic-рекордсет на джетовской базе приводит к открытию Static-рекордсета.
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32741861
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю на счет джета, но если склероз не подводит, то с сиквелом он по дефоту открывается как статик.

Magnus
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32743499
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magnus23Не знаю на счет джета, но если склероз не подводит, то с сиквелом он по дефоту открывается как статик. хелп Syntax
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
...............
CursorType Optional. A CursorTypeEnum value that determines the type of cursor that the provider should use when opening the Recordset. The default value is adOpenForwardOnly .
Открытие рекордсета через Command.Execute или через Connection.Execute тоже приводит к открытию Forward-Only рекордсета.
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32744693
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛП, не расстраивай мою больную психику плиз :).
Только что 5 раз проверил. С теми параметрами что указаны в начальном посте, открывается с adOpenStatic, adUseClientBatch.

Согласен, по дефолту будет форвард-онли(позор на мои седины, посыпаю голову пеплом), но т.к. в соеденении указан статик, то он и используется.

Magnus
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32744697
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лох Позорный
Magnus23Если комбинация параметров не поддерживается провайдером то рекордсет открывается с дефолтными.
неверное утверждение. для ADODB.Recordset дефолтный тип курсора - ForwardOnly, а попытка открыть Dynamic-рекордсет на джетовской базе приводит к открытию Static-рекордсета.

Неверное утверждение :). См.выше. Если в соеденении не указывать статик, то получим форвард онли.
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32747579
qwertyqwerty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и adOpenStatic и т.д. пробовал,
и mdac 2.8 стоит,
и jet 8 стоит.
Всяко было пробовано!

MdbErr чистый(можно довавлять, удавлять и тп. и тд.) пока grid не билдим. Как только билдим в MdbErr добавляется строка ошибки, хотя прога работает(не стопает на ошибку как в других случаях, когда по "интерфейс не поддерживается" прога ост. - например с "Microsoft Visual FoxPro Driver" и методом seek). Есть один момент по работает без сбоя на w2k, на w98se после обработки некоторого кол-ва(разного) записей на какой останавливается(не зависает), переходит в режим ожидания чего-то. На работоспособность других работающих и запускаемых программ не влияет.

Т.е. вопрос и состоит в том,
что запрашивает Ms DataGrid Control 6.0(SP6) :через ADO(параметры) у провайдера, и как сделать чтобы не запрашивал(заменить грид на другой?).
Да VB 6 (SP6) соответственно.
...
Рейтинг: 0 / 0
Подскажите - чего не хватает Jet-у.
    #32748519
Фотография _bob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй adLockPessimistic заменить на adLockOptimistic
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подскажите - чего не хватает Jet-у.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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