как обратиться через ODBC к переменной части dbt файла?
0 (0)
как обратиться через ODBC к переменной части dbt файла? ( yukson 02.02.2011 10:26 )
5(1)Например на файл sbdepdoc.dbt можно в rsl наложить структуру sbdepdoc.1 и получить доступ к полям Account_Receiver и т.п.
А как это сделать через ODBC ?
>> Ответитьпо-моему никак ( dye 02.02.2011 10:44 )
5(1)Not specified
>> Ответитьможно, но с заморочками ( coperius 02.02.2011 11:24 )
5(1)вариант 1. Делаем жесткие ссылки на файл sbdepdoc.dbt с названием вида sbdepdoc.1 и тому подобное. В файловой системе будут отображаться как обычные файлы. Минус, что индексы для них работать не будут, поэтому очень медленный вариант.
вариант 2. получать запись из sbdepdoc.dbt, переводить ее в байтовый вид и интерпретировать потом как необходимо.
По второму варианту делал на яве, вроде даже работает ))
>> ОтветитьА если в оболочке RSL для структуры sbdepdoc.1 прописать ключи ( yukson 02.02.2011 15:44 )
5(1)А если в оболочке RSL для структуры sbdepdoc.1 прописать ключи (как в sbdepdoc.dbt),
затем выгрузить в ddf через Словарь - Конвертирование в формат DDF, то индексы и в ODBC появятся?
>> ОтветитьМожно конечно попробовать ( coperius 02.02.2011 16:56 )
5(1)Но вот как поведет себя система при этом... Хотя в файловой системе и будет присутствовать sbdepdoc.1, но физически это будет sbdepdoc.dbt и индексы там будут его... При совпадении индексов может и получиться.. Но если будут использованы индексы отличные от оригинала, то не получится.
При работе через odbc еще возникает такая ситуация, что он не все индексы использует. В arhdoc.dbt, например, невозможно произвести поиск по ApplicationKey.Первазив просто не использует индекс.Хотя в другой таблице (вроде картотека была) все нормально. Есть подозрение на номер ключа.Ключ 6 не берется,а 4 работает.
З.Ы. И экспериментировать конечно лучше на копии.
>> ОтветитьСними "N" с 6-го ключа и все будет ОК (-) ( григ 03.02.2011 07:58 )
5(1)Not specified
>> ОтветитьХм.. ( coperius 03.02.2011 09:05 )
5(1)Флаг N - позволяет нулевые значения. Каким образом он может повлиять? К тому же в index2.dbt ключ 4 (аналогичен ключу 6 в архдоке) тоже имеет флаги N в полях, но замечательно используется через ODBC.
>> ОтветитьЭто старый глюк первазива. ( Ltybc 03.02.2011 11:56 )
5(1)Если в индексе стоит флаг N, то при работе SQL-запросов этот индекс не используется.
Зачем в 6 ключе этот признак, непонятно, разве что, чтобы iBank не работал.
Поэтому все после каждого апдейта удаляют флаз из структуры и пересоздают базу.
>> ОтветитьПопробую... ( coperius 03.02.2011 12:02 )
5(1)Но все равно смущает, что в index2.dbt на 4 ключе тоже стоит этот флаг. Что совершенно не мешает использовать его первазиву. Смотрел через pervasive plan query viewer.
>> Ответить
Вместо "позволяет" надо писать "подавляет". Проверь теорию практикой и вопросы отпадут. (-) ( григ 04.02.2011 07:52 )
5(1)Not specified
>> Ответить
еще можно глянуть тему на форуме ( coperius 03.02.2011 09:58 )
5(1)"Как с помощью SQL извлечь структуру из CtgVal.value"
>> Ответить