Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Ограничение на размер таблицы = 32000, как обойти? / 20 сообщений из 20, страница 1 из 1
24.07.2007, 20:25
    #34681556
Valergrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Добрый день!

У меня кэш не позволяет создавать таблицы с количеством записей большим чем 32000, может кто-нибудь знает - можно ли это ограничение обойти?

И еще вопрос от новичка: можно ли как-нибудь экспортировать все таблицы данных в файл сразу, а то сейчас приходится делать это по одной.
...
Рейтинг: 0 / 0
25.07.2007, 07:46
    #34681935
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Моя не знай про ограничение
Моя работай с таблицами в много-много цифр записей
...
Рейтинг: 0 / 0
25.07.2007, 07:47
    #34681938
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Моя экспортировай глобал.
Много-много глобал в один файл
...
Рейтинг: 0 / 0
25.07.2007, 08:08
    #34681955
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Может не количество записей... А "длина" одной записи?
Таких ограничений по количеству записей нет даже в Excel
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
25.07.2007, 11:14
    #34682327
excel-2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
krvsaМожет не количество записей... А "длина" одной записи?
Таких ограничений по количеству записей нет даже в Excel
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT

В новом EXCEL-2007 на листе строк 1048576 колонок 16384
...
Рейтинг: 0 / 0
25.07.2007, 15:21
    #34683354
Valergrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Блок А.Н.Моя не знай про ограничение
Моя работай с таблицами в много-много цифр записей

Странно... Может из-за того что версия у меня не зарегистрированная пока?
А где-нибудь можно прочитать про работу с глобалами? Чето десяток книжек просмотрел для начинающих, нигде не нашел.
Подскажите плиз!
...
Рейтинг: 0 / 0
25.07.2007, 16:43
    #34683637
Peter Zarubin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Valergrad
А где-нибудь можно прочитать про работу с глобалами? Чето десяток книжек просмотрел для начинающих, нигде не нашел.
Подскажите плиз!

Напишешь в аську мыло - я тебе отправлю
...
Рейтинг: 0 / 0
26.07.2007, 06:17
    #34684487
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
авторМожет из-за того что версия у меня не зарегистрированная пока?
Нет, регистрация влияет только на число пользователей. И, говорят, на бесплатной версии резаный кэш, что влияет на производительность, но не на функционал

авторА где-нибудь можно прочитать про работу с глобалами? Чето десяток книжек просмотрел для начинающих,
Про каше? На русском? десяток книжек?!
авторнигде не нашел.
Аа, не про каше :-)

Хотел найти в документации. Не тут то было, такое ощущение, что подразумевается уже знание основ.
Зато на этом форуме наше в теме "Что же главное каше" это документ

MUMPS.xls
Только он по ссылке пытается его открыть как архив. На самом деле это xls-файл.
...
Рейтинг: 0 / 0
26.07.2007, 06:20
    #34684489
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Правда в файлике примеры с локальными переменными. Глобалы в написании отличаются симоволом ^ перед названием.
...
Рейтинг: 0 / 0
26.07.2007, 08:09
    #34684554
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Valergrad, а как вы определили что у вас стоит такое ограничение? Можно пример кода посмотреть?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
26.07.2007, 08:52
    #34684622
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Ага, очень интересно.
Может, человек работает с локальными переменными. Там действительно есть ограничение на память, но не на число записей. Да и откуда вообще взялась эта цифра?
...
Рейтинг: 0 / 0
27.07.2007, 14:43
    #34689255
Valergrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
krvsaValergrad, а как вы определили что у вас стоит такое ограничение? Можно пример кода посмотреть?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT

Ну, я пытался загрузить себе в базу КЛАДР ( база российских адресов, там все улицы, около 1 млн 200 записей ). Соответственно, в базе есть хранимая процедура AddItem которая добавляет запись к некоторой таблице ( используя SQL и INSERT ).
Теперь из программы на С# вызываю эту процедуру в цикле. Записи добавляются, но в какой-то момент их число превышает 32760, и они добавляться перестают.
Версия Cache - 5.0

Данные таблиц - это насколько я понимаю глобалы?
...
Рейтинг: 0 / 0
27.07.2007, 14:58
    #34689331
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Valergradя пытался загрузить себе в базу КЛАДР
У нас она успешно загружена. :)
ValergradЗаписи добавляются, но в какой-то момент их число превышает 32760, и они добавляться перестают.
Все эе интересно посмотреть код "всех участников"
ValergradДанные таблиц - это насколько я понимаю глобалы?
Да. Все, так или иначе, хранится в глобале. И есть ограничение - значение глобала не должно превышать 32 КБ... Вот на это возможно вы и натыкаетесь...
...
Рейтинг: 0 / 0
27.07.2007, 15:10
    #34689401
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
авторНу, я пытался загрузить себе в базу КЛАДР
Не знаю C#, в нем есть типизация? Если есть, то возможно вы где-то не вмещается значение переменной? Впрочем, не видя кода, сложно что-то предполагать.

авторИ есть ограничение - значение глобала не должно превышать 32 КБ
Наверно, размер данных? У человека и так проблемы, а вы его еще сбиваете с толку ;-)

Сомневаюсь, что размер данных одной записи КЛАДР 32кб.
Вы же их не в одну строку добавляете?

Надеюсь, в хранимой процедуре нет работы с объектами каше?
...
Рейтинг: 0 / 0
27.07.2007, 15:56
    #34689599
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Блок А.Н.Наверно, размер данных?
Значение глобальной переменой.
Блок А.Н.У человека и так проблемы, а вы его еще сбиваете с толку ;-)
Это единственое, знакомое мне ограничение, которое имеет такой размер...
...
Рейтинг: 0 / 0
27.07.2007, 16:50
    #34689834
Valergrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Хорошо, есть класс Encyclopedia.DirItem - в нем элементы кладра
Вот его объявление:


Class Encyclopedia.DirItem Extends (%Persistent, %Populate) [ ClassType = persistent, ProcedureBlock ]
{
Property DirValue As %String; // значение элемента
Relationship Directory As Encyclopedia.Directory [ Cardinality = parent, Inverse = Items ]; // ссылка на номер справочника
Property Number As %String; // номер элемента
}


И есть класс Encyclopedia.Directory - в нем имена справочников ( типа "Улица", "Город" и т.д. )

Class Encyclopedia.Directory Extends (%Persistent, %Populate) [ ClassType = persistent, ProcedureBlock ]
{
Relationship Items As Encyclopedia.DirItem [ Cardinality = children, Inverse = Directory ];
Property DirName As %String [ Required ];
Property NeedRedact As %Integer; // этот параметр неважен
Index NameIndex On DirName [ Unique ];
}

И есть в Encyclopedia.Directory метод:

// написано криво, но переписать руки не доходят

ClassMethod AddItem(DirName As %String, Number As %String, DirValue As %String) [ SqlProc ]
{
&sql(select count(*) into :count
from DirItem
where Directory->DirName=:DirName
and Number=:Number)
// если такого элемента нет, добавляем его
if count=0{
&sql(
insert into DirItem(Directory,Number,DirValue)
values (Directory_FindDir(:DirName),:Number,:DirValue)
)
} else{
&sql(
update DirItem
set DirValue=:DirValue
where Directory->DirName=:DirName
and Number=:Number
)
}
}

Вот... Если кто-то уже делал КЛАДР может поделится как?
...
Рейтинг: 0 / 0
27.07.2007, 20:06
    #34690290
Бред
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
ValergradХорошо, есть класс Encyclopedia.DirItem - в нем элементы кладра
Вот его объявление:


Class Encyclopedia.DirItem Extends (%Persistent, %Populate) [ ClassType = persistent, ProcedureBlock ]
{
Property DirValue As %String; // значение элемента
Relationship Directory As Encyclopedia.Directory [ Cardinality = parent, Inverse = Items ]; // ссылка на номер справочника
Property Number As %String; // номер элемента
}


И есть класс Encyclopedia.Directory - в нем имена справочников ( типа "Улица", "Город" и т.д. )

Class Encyclopedia.Directory Extends (%Persistent, %Populate) [ ClassType = persistent, ProcedureBlock ]
{
Relationship Items As Encyclopedia.DirItem [ Cardinality = children, Inverse = Directory ];
Property DirName As %String [ Required ];
Property NeedRedact As %Integer; // этот параметр неважен
Index NameIndex On DirName [ Unique ];
}

И есть в Encyclopedia.Directory метод:

// написано криво, но переписать руки не доходят

ClassMethod AddItem(DirName As %String, Number As %String, DirValue As %String) [ SqlProc ]
{
&sql(select count(*) into :count
from DirItem
where Directory->DirName=:DirName
and Number=:Number)
// если такого элемента нет, добавляем его
if count=0{
&sql(
insert into DirItem(Directory,Number,DirValue)
values (Directory_FindDir(:DirName),:Number,:DirValue)
)
} else{
&sql(
update DirItem
set DirValue=:DirValue
where Directory->DirName=:DirName
and Number=:Number
)
}
}

Вот... Если кто-то уже делал КЛАДР может поделится как?

В том же иксе видел КЛАДР. Для адресов проживания и прописки сотрудников (чтобы в ПФ выгружать), контактных лиц партнеров, сотрудников конкурентов и т.п. Видимо ничего сложного в этом нет?
...
Рейтинг: 0 / 0
30.07.2007, 08:10
    #34691497
Ptn
Ptn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Быть может у вас просто перестает выполняться условие на count=0 ?

Сделайте лог

s ^mtempAddItem($i(^mtempAddItem),"count")=count_"^"_SQLCODE

s ^mtempAddItem(^mtempAddItem,"Add")=SQLCODE

s ^mtempAddItem(^mtempAddItem,"Update")=SQLCODE

в соотвествующих ветках и посмотрите
...
Рейтинг: 0 / 0
30.07.2007, 08:10
    #34691498
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
Valergrad , так где и какая ошибка происходит?

КЛАДР мы качали в разные справочники (но многоуровневые)
- район
- город
- населеный пункт
- улицы
хранение данных не классовое, свое. В произвольном глобале...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
30.07.2007, 09:38
    #34691630
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничение на размер таблицы = 32000, как обойти?
авторЗначение глобальной переменой.
Все-таки ограничение есть на размер, а не на значение глобальной переменной :-)

авторvalues ( Directory_FindDir (:DirName),:Number,:DirValue)
Меня смущает Directory_FindDir. Что это?

И еще - уберите для проверки relationship, есть подозрение на него.

Кстати о птичках - какая ошибка выдается?

авторничего сложного в этом нет?
Ну это просто однозначно :-)
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Ограничение на размер таблицы = 32000, как обойти? / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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