Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / открытие более 64 баз / 20 сообщений из 20, страница 1 из 1
25.06.2007, 13:50
    #34617311
энди
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
Возникла проблема при открытии более 64 MDB файлов. Никто случаем не сталкивался?
...
Рейтинг: 0 / 0
25.06.2007, 13:51
    #34617320
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
Интересная структура БД.
...
Рейтинг: 0 / 0
25.06.2007, 14:20
    #34617421
zubov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
Ну тут ничего не поделаешь, около 2000 тысяч отдельных mdb файлов на компакте. Сливать их никакого смысла не вижу, компакт довольно часто обновляется и мне удобнее стопануть сервис, переставить компакт и запустить сервис по новой.
...
Рейтинг: 0 / 0
25.06.2007, 14:26
    #34617452
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
Зато у вас появился глубокий смысл ковыряния с большим (огромным!) количеством отдельных маленьких файликов.

Обрабатывайте порциями по 64.
...
Рейтинг: 0 / 0
25.06.2007, 14:47
    #34617544
zubov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
Не получится, это интернет сервис, т.е запрос может быть к любому файлу. И не факт что при пиковой нагрузке их не окажется открыто более 64.
Я лично тестировал свой сервис при 500 одновременный потоках и все работает отлично на паре файлов, а при переходе на аксесс такие проблемы :(
...
Рейтинг: 0 / 0
25.06.2007, 14:54
    #34617579
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
Открыли - прочитали - закрыли ?

Не знаю конкретику вашей задачи, но я наверняка сделал бы общее хранилище вместо множества маленьких файлов.
...
Рейтинг: 0 / 0
25.06.2007, 15:04
    #34617625
KrukVN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
zubov... это интернет сервис ... а при переходе на аксесс такие проблемы :(
а с чего собственно переход был?
Может говорить уже поздновато, но здается не на access переходить нужно было, а на какую-нить клиент-сереверную СУБД и хранить все в одной базе
...
Рейтинг: 0 / 0
25.06.2007, 15:24
    #34617731
zubov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
Есть компакт нашего поставщика с его оболочкой. На компакте 1800 файлов аксесса по которому их программа ищет данные. Мой интернет сервис делает тоже самое. Я написал сервис который отлично ищет по любому количеству их файлов до 64. Все работает великолепно, но как только идет 65 файл АДО дает ошибку при открытии. Т.е явно видно что где-то есть ограничение в 64 коннекшена, но вот вопрос где и можно ли его снять. Просто переконвертировать каждый раз 4 гига информации только потому что не смог снять ограничение в 64 коннекта не хотелось бы. Ведь все работает отлично по идее.
...
Рейтинг: 0 / 0
25.06.2007, 18:23
    #34618454
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
zubovНа компакте 1800 файлов аксесса по которому их программа ищет данные.что мешает искать поочередно, закрывая уже обшаренные файлы?

Или у вас в запросе строится джойн из более чем 64 таблиц? Тады собирайте промежуточный результат запроса скажем в одну темповую структуру, разбив задачку на шаги, задействующие не более чем 64 базки. В случае аксового интерфейсу я создал бы темповый mdb на диске клиента, в который бы и скидывал промежуточные результаты поиска.
...
Рейтинг: 0 / 0
26.06.2007, 09:42
    #34619103
zubov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
мешает то что одна из самых медленных операций это окрытие/закрытие базы. Да и сервис должен работать максимально быстро. А последовательное открытие убивает весь смысл своими тормозами. Был еще вариант создания общей БД с линковаными в нее таблицами из всех файлов. Но я пока не нашел как автоматом сгенерировать такую базу. Вобщем это ограничение в 64 коннекта неописанное в доке Аксеса очень расстроило :(
...
Рейтинг: 0 / 0
26.06.2007, 10:57
    #34619322
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
zubovВобщем это ограничение в 64 коннекта неописанное в доке Аксеса очень расстроиловы уверены, что это ограничение акса, а не некоего конкретного инструмента, коим вы открываете базы?

вообще говоря у акса есть ошибка:
Справочник по ошибкам Microsoft JetОткрытие дополнительных баз данных невозможно. (Ошибка 3048)только вот на тесте у меня она возникает при поднятии 252-й (кроме текущей) ссылки на бд.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub testdbs()
Dim i As Long
Dim dbs( 0  To  265 ) As DAO.Database
    For i =  0  To  265 
        'Set dbs(i) = DBEngine.CreateDatabase("C:\t\test" & Format(i, "000") & ".mdb", dbLangCyrillic)
        Set dbs(i) = CurrentDb 'можно и так, без разницы.
    Next i
End Sub
т.е. у вас "в запасе" должно быть еще изрядное число. Ищите, да обрящете.
...
Рейтинг: 0 / 0
26.06.2007, 10:58
    #34619329
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
ЗЫ: 253-й (от 0)
...
Рейтинг: 0 / 0
26.06.2007, 11:05
    #34619362
ЛП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
2 assa
И это число (253) - исчо надо бы умножить на количество одновременно открытых DAO.Workspace'ов.
Если конечно ограничение на воркспейс, а не на DBEngine в целом.

З.Ы. Хотя аффтару эти цифры до звезды - у него ж не DAO, а ADO.

З.З.Ы. Задача дурнейшая, конечно :)
...
Рейтинг: 0 / 0
26.06.2007, 11:15
    #34619406
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
ЛП2 assa
И это число (253) - исчо надо бы умножить на количество одновременно открытых DAO.Workspace'ов.
Если конечно ограничение на воркспейс, а не на DBEngine в целом.

З.Ы. Хотя аффтару эти цифры до звезды - у него ж не DAO, а ADO.

З.З.Ы. Задача дурнейшая, конечно :)да я пробовал и с воркспейсами (по спейсу на таблу) кажисть не шипко отличалось. (на 125-м+1 воркспейсе накрывся). Если по 2 базки на спейс - затык на 167-й+1 базе (84 спейса).

Да, извини за глюпий вапрос - А что, джет не лимитирует ADO-шные аксовые базки? Или ADO лимитирует их раньче?
...
Рейтинг: 0 / 0
26.06.2007, 11:26
    #34619455
ЛП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
assaДа, извини за глюпий вапрос - А что, джет не лимитирует ADO-шные аксовые базки? Или ADO лимитирует их раньче?
Я не настолько умён, чтобы знать ответы на всякий глюпий вапрос :(

Имхо, тот лимит открытия баз, про который говоришь ты - сидит в именно в даошных объектах и коллекциях, а не в джете. Пачиму такой ымхо - нэ зынаю, уш какой ест, да?
Причем лимит кажется на общее кол-во "глобальных" объектов (уж больно циферки близки - 167 баз + 84 спейса в одном случае, и 253 баз в другом).

Соответственно, если у аффтара нет дао, то и даошные ограничения ему до звезды. Патамушта самому адо+оледб провайдеру этот дао до звезды.

Лимитирует ли сам джет что-нить - хз. Никогда не работал с одним лишь джетом (без адо и дао).
Что и как лимитирует адо и/или оледб-провайдер - обратно хз.
...
Рейтинг: 0 / 0
26.06.2007, 11:27
    #34619460
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
zubovмешает то что одна из самых медленных операций это окрытие/закрытие базы. Да и сервис должен работать максимально быстро. А последовательное открытие убивает весь смысл своими тормозами. Был еще вариант создания общей БД с линковаными в нее таблицами из всех файлов. Но я пока не нашел как автоматом сгенерировать такую базу. Вобщем это ограничение в 64 коннекта неописанное в доке Аксеса очень расстроило :(
Таблиц можно налинковать до хрена.
Открыть, допустим, 237 баз по времени не тоже что и 237 раз открывать по 1 базе ?

Не покидает стойкое ощущение что что-то вы совсем не так делаете. Кто ж так талантливо придумал информацию по отдельным эмдибишкам разбросать ?
...
Рейтинг: 0 / 0
26.06.2007, 11:30
    #34619476
ЛП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
Программист-ЛюбительКто ж так талантливо придумал информацию по отдельным эмдибишкам разбросать ?
Скорее вопрос надо ставить так - кто ж такой талантливый отказывается от идеи слить файлопомойку в одно общее хранилище :)
...
Рейтинг: 0 / 0
26.06.2007, 11:50
    #34619560
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
ЛП Программист-ЛюбительКто ж так талантливо придумал информацию по отдельным эмдибишкам разбросать ?
Скорее вопрос надо ставить так - кто ж такой талантливый отказывается от идеи слить файлопомойку в одно общее хранилище :)да там могет оказаться по рылу на базку - ответственные за наполнение. и никто не хочет отвечать за слияние (и таблы ,видимо, одноименные и общее кол-во данных, видимо, сущ-нно больше гига и взять на себя ф-ю "главное чтобы воля была/ к победе" - некому.)


да. есть ограничение собственно акса на число открытых таблиц. Помнится по спецификации порядка 1000++.
А вот рекодсетов даошных-чо тоже должно по теории быть не больше 252-253 (или они уже не "глобальные" даошные обджекты)?

У меня на одной табличке затык происходит на 2037-м+1 рекордсете.
Код: plaintext
1.
2.
3.
Открытие большего числа таблиц невозможно.  (Ошибка  3014 )

? DBEngine( 0 )( 0 ).Recordsets.Count
  2037  
...
Рейтинг: 0 / 0
26.06.2007, 11:53
    #34619573
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
Программист-ЛюбительТаблиц можно налинковать до хрена.
Открыть, допустим, 237 баз по времени не тоже что и 237 раз открывать по 1 базе ? ну, на число таблиц в одном запросе ограничения то как раз более жесткие. А по поводу открываний - афтар желают адын рас фсё аткрыть, а патом целый день многа-многа раз не заткрывая искать.
Т.е. тут пынятна, за што бореца.
...
Рейтинг: 0 / 0
26.06.2007, 13:26
    #34619953
zubov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие более 64 баз
Открывал через Дельфи. Стандартный АДО коннекшн.
Какой умный, ну тут как сказать, скажем так это очень крупная фирма, и этот компакт они раздют всем крупным постащикам. Вот я и получил такой компакт. Почему разбито на отдельные файлы? Тут я могу только догадываться, но возможно это связано с заменой любого из файлов на лету. Без удаления таблицы из БД и ее упаковки.
Вобщем все мы дружно пришлы к выводу что мальчик есть :) Но вот из какой подворотни он вылез не совсем понятно :) Одним словом я пришел к выводу что придется все же конвертировать все данные во что-то более пристойное. Видимо эмбеддед mysql.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / открытие более 64 баз / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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