powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO и "Объект был открыт"
28 сообщений из 28, показаны все 2 страниц
ADO и "Объект был открыт"
    #34078049
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
делаю так:
Код: plaintext
1.
2.
 if  adodataset.active  then  adodataset.close;
adodataset.commandtext:='select * from mytabel';
adodataset.open;
на последней строке ругается типа объект был открыт
что не так в свойствах?
я думаю, может связано с асинхронностью закрытия - как это посмотреть?
пробовал делать и так:

Код: plaintext
1.
2.
3.
 if  adodataset.active  then  adodataset.close;
 while  adodataset.active  do   nil ;
adodataset.commandtext:='select * from mytabel';
adodataset.open;

все равно ругается на последней строке.
при чем абсолютно не всегда, а иногда ругается, иногда нет.
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34078064
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже не так если пускаешь проект в самой среде разработки (D7)
то выскакивает эта ошибка иногда,
а если пускаешь сам скомпиленый экзешник, то все время
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34078073
Фотография VirusXP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй диалоговое окно впаять между закрытием и открытием датасета. Если поможет, то видимо набор не успел ещё закрыться. С формами иногда такое бывает.
З.Ы. ИМХО чтото всё это смахивает на пятницу, хотя вродебы рано ещё :-X
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34078075
Фотография VirusXP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может ADO cдохло?
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34078120
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если поможет, то видимо набор не успел ещё закрыться
так вот как дождаться, чтобы оно закрылось?
может пытаться открыть его через try? и если эксепшн, то пытаться снова открыть и так пока не откроется, но это же берд.
а может как-то через события dataset можно остледить закрылось оно или нет?
ща посмотрю, генерит ли закрытие dataset какое-нибудь событие.
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079409
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HEELP!
Вообще бред!
уже и так делаю:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 procedure  ...
...
 if   not  ADODataSet1Close  then  ADODataSet1.close;
 while   not  ADODataSet1Close  do  sleep( 5 );
ADODataSet1.cpmmandtext:='select * from mytable'
ADODataSet1.open;
 while  ADODataSet1Close  then   do  sleep( 5 );
...
 end ;
...
...
 procedure  TForm1.ADODataSet1AfterClose(DataSet: TDataSet);
 begin 
ADODataSet1Close:=TRUE;
 end ;

 procedure  TForm1.ADODataSet1AfterOpen(DataSet: TDataSet);
 begin 
ADODataSet1Close:=FALSE;
 end ;

запускаю в D7 проект работает (лишь изредка выскакивает 'Объект был открыт')
запускаю экзешник - постоянно выскакивает.
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079429
goodron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что тебе мешает сделать без всяких проверок?
ADODataSet1.Close;
ADODataSet1.CommandText := '...';
ADODataSet1.Open;
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079480
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что тебе мешает сделать без всяких проверок?
я так сначала и делал но он ругался, что "объект открыт"
решил, может датасет не успевает закрыться а я меняю ему строку ис нова открываю его, поэтому решил поставить проверки
но ошибка все равно осталась
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079506
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может кто-то знает, где смотреть, чтобы ADO не работала асинхронно?
то есть вот
ADOdataset.close
и чтобы прога стояла пока не закроется набор
может какое-то свойство нужно выставить?
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079536
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как вариант, делать на каждый запрос отдельный датасет, но это же бред какой-то.
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079539
Фотография FlyD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zazurikможет кто-то знает, где смотреть, чтобы ADO не работала асинхронно?
то есть вот
ADOdataset.close
и чтобы прога стояла пока не закроется набор
может какое-то свойство нужно выставить?
ADOConnection.ConnectOptions ?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079624
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ADOConnection.ConnectOptions ?
да это оно, НО НЕ помогло пробовал и
coConnectUnspecified и coAsyncConnect все равно ошибка валазит.
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079877
Manfred8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adodataset.ExecuteOptions ?
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079880
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Е-А-УТЬСЯ!
Ну неужели придется для каждого селекта создавать отдельный датасет?
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079888
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Manfred8adodataset.ExecuteOptions
там везде фальш стоит
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079908
Manfred8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
курсор серверный?
попробуй конекшин закрывать
Код: plaintext
adoconection.close
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079912
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самое интересное, что в среде разработки ошибка не выскакивает
(точнее выскакивает, но очень очень редко), а когда пускаешь сам экзешник - постоянно выскакивает
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079935
Manfred8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати,приведи оригинальный текст ошибки. ctr+c на диалоге, ctrl+v сюда =)
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079942
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот еще подумал:
есть
1. Microsoft OLE DB Provider for Oracle
2. Oracle Provider for OLE DB
Я при подключении юзаю 2-й (Oracle Provider for OLE DB)
подскажите как правильно прописать connectionstring, чтобы заюзать первый
(может с ним таких проблем не будет) пробую построить стринг через билд - ругается.
И вообще какой лучше из них?
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34079993
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Данная ошибка является багом Oracle OLEDB провайдера. Варианты решения в порядке приоритетности:
- отказаться от работы через ADO c Oracle и выбрать компоненты прямого доступа.
- перейти к принципу один TADCommand/TADODataSet/и т.д. - один запрос, т.е. не менять запрос, а создавать дополнительные объекты.
- сменить провайдер на микрософтовский, и поиметь проблемы с блобами и т.д.

Удачи,
Дмитрий

--
AnyDAC ( www.da-soft.com ) - Oracle, MySQL, MSSQL, MSAccess, IBM DB2,
Sybase ASA, DbExpress, ODBC freeware data access framework.
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34080007
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторкстати,приведи оригинальный текст ошибки. ctr+c на диалоге, ctrl+v сюда =)
http://]/topic/88315&hl=microsoft+ole+db+provider+oracle
Здесь к стати аналогичный трабл описан - тоже не решен.
авторкурсор серверный?
попробуй конекшин закрывать
да серверный (клиентсикй не прокатит - медленно будет работать)
реконнектиться - не вариант (каждый раз перед запросом заново коннеститься - это же тормоза будут дикие :)

Короче абидна пипец, но, видно, придется переписывать всю прогу на DOA.
Е-а-нуться! :).
Две недели конопатился - к стати почему-то раньше такого не было, а вот под конец, когда уже начал по полной тестить такая вот фигня вылезла.
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34080028
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZazurikКороче абидна пипец, но, видно, придется переписывать всю прогу на DOA.
Е-а-нуться! :).
Две недели конопатился
Переделывание двухнедельного кода - довольно скромная цена за такую глупость как использование ADO.

Отдельным плюсом следует рассмотреть практикум на тему "как писать код так, чтобы подобная переделка осуществлялась легко и просто".
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34080056
Фотография FlyD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZazurikКороче абидна пипец, но, видно, придется переписывать всю прогу на DOA.
Е-а-нуться! :).
Две недели конопатился - к стати почему-то раньше такого не было, а вот под конец, когда уже начал по полной тестить такая вот фигня вылезла.
Поздравляю. Вы наступили на распространенные грабли.
поиск по "Oracle ADO"

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34080424
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
фух! переделал на DOA!
блин но oraclesession, oracledataset работают гораздооооо!
медленнее, чем ADO, ерунда какая-то! почемууу! :)
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34080487
Artemiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот умора. У меня был включен переводчик TranslateIT. Читал ветку, навел мышь случайно на "ADO", дак он мне выдал: ADO - беспокойство, суета, хлопоты, препятствие, затруднение, сложность. ИМХО прямо в точку.
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34080562
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zazurikфух! переделал на DOA!
блин но oraclesession, oracledataset работают гораздооооо!
медленнее, чем ADO, ерунда какая-то! почемууу! :)
QueryAllRecords := False
...
Рейтинг: 0 / 0
ADO и "Объект был открыт"
    #34080606
Zazurik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторQueryAllRecords := False
оно! отлично! спасибо!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ADO и "Объект был открыт"
    #39632327
Nashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся с аналогичной проблемой, но с MS SQL. Гуглинг нынче вывел не только сюда, но и на пару других сайтов. Итого:

Здесь вот подключение было к Oracle, помогло пересаживание с ADO на DOA и выключение QueryAllRecords в False
В http://forum.sources.ru/index.php?showtopic=408605 пишут, что им помогло поменять CursorLocation у коннекта и квери на clUseServer

И в http://www.delphikingdom.com/asp/answer.asp?IDAnswer=75203 наконец-то пишут, что проблема с исчерпанием файла подкачки на клиенте, что покрывает и первые два случая, и всё объясняет.
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO и "Объект был открыт"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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