Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / миграция СУБД Cache -> MS SQL Server / 11 сообщений из 11, страница 1 из 1
04.07.2006, 13:16
    #33829949
SwordFish
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
миграция СУБД Cache -> MS SQL Server
Добрый день!

Возникла нелегкая задача – экспортировать данные из системы, работающей на СУБД Cache в систему на MS SQL. Подскажите, каким образом можно экспортировать глобали в базу MS SQL для дальнейшей обработки.

Спасибо!
...
Рейтинг: 0 / 0
04.07.2006, 14:03
    #33830126
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
миграция СУБД Cache -> MS SQL Server
Через Cache SQL Manager пробовали ?
Cache SQL Tables into ASCII Files

Ну а дальше в MS SQL, дело техники...
...
Рейтинг: 0 / 0
04.07.2006, 15:30
    #33830482
SwordFish
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
миграция СУБД Cache -> MS SQL Server
нужно экспортировать ГЛОБАЛИ
...
Рейтинг: 0 / 0
04.07.2006, 16:25
    #33830695
Hoar Frost
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
миграция СУБД Cache -> MS SQL Server
Если потребуется это делать хотя бы еще пару раз, то можно использовать Cache SQL Storage для того, чтобы навернуть на ваши глобали классы Cache.

Если операция разовая, то проще всего создать свой запрос на основе Cache Object Script, который будет виден из SQL Server как хранимая процедура. Результаты этого запроса вы определяете самостоятельно. Пример:

ClassMethod testqueryClose(ByRef qHandle As %Binary) As %Status [ PlaceAfter = testqueryExecute ]
{
write "--------------------------------",!
write "Start: ",$ZDT($LI(qHandle,2)),!
write "End: ",$ZDT($H),!
Quit $$$OK
}

ClassMethod testqueryExecute(ByRef qHandle As %Binary) As %Status
{
set qHandle=$LB("",$H) ;; ID,Start
Quit $$$OK
}

ClassMethod testqueryFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = testqueryExecute ]
{
set Row="" ;; reset the row
set i=$LI(qHandle,1) ;; previous eid
set eid=$order(^a(i)) ;; current eid

if eid="" {
set AtEnd=1
}
else {
set name=$g(^a(eid))
set Row=$LB(eid,name) ;; set the result
set $LI(qHandle,1)=eid ;; pass the current eid to the next fetch
}
Quit $$$OK
}

Query testquery() As %Query(ROWSPEC = "eid:%String,name:%String")
{
}

Запрос testquery можно определить как хранимую процедуру. Делаем глобал:

1) ^a(1)="Serg", ^a(2)="InterSystems", ^a(3)="Cache-rulezz"
2) Запускаем testquery
(3)Результат:
eid:1 name:Serg
eid:2 name:InterSystems
eid:3 name:Cache-rulezz
...
Рейтинг: 0 / 0
05.07.2006, 13:39
    #33832711
SwordFish
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
миграция СУБД Cache -> MS SQL Server
скажу сразу - опыта работы к Cache нет.

если я правильно понимаю: %Library.CacheSQLStorage - шаблон класса (говоря терминами с++), и на его основе мы определяем работу с глобалями через реляционные механизмы доступа.

все хорошо, НО:
* глобалей у нас (мягко скажем) много
* опыта работы с Cache'ой (мягко скажем) мало
* нужен механизм только _чтения_ данных, причем "одноразовый". план работ примерно такой - выгружаем все что есть, изучаем, пишем конвертер, в день Икс выгружаем свежие данные и запускаем конвертер. все.

идеальный вариант - механизм, позволяющий "оптом" перекинуть все глюбали в формат для загрузки "куда нибудь". ;))
...
Рейтинг: 0 / 0
05.07.2006, 14:40
    #33832927
CJIECAPb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
миграция СУБД Cache -> MS SQL Server
Возможно вам не стоит выгружать все глобали. Есть подозрение, что многие из них используются только как индексы, соответсвенно будет достаточно выгрузить только часть, а потом уже в полученных таблицах добавить необходимые индексы.
Как вариант для выгрузки можно написать небольшую рутинку, обходящую глобали и формирующую xml, который уже можно будет скормить MSSQL.
...
Рейтинг: 0 / 0
05.07.2006, 16:45
    #33833517
SwordFish
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
миграция СУБД Cache -> MS SQL Server
хорошо и качественно написать не получится - отсутствует опыт.
...
Рейтинг: 0 / 0
05.07.2006, 18:28
    #33833888
SwordFish
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
миграция СУБД Cache -> MS SQL Server
Господа!
Мы готовы обсудить сроки и стоимость работ по "извлечению" информации.

г. Санкт-Петербург, e-mail в визитке.
...
Рейтинг: 0 / 0
06.07.2006, 09:10
    #33834533
Maksim UM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
миграция СУБД Cache -> MS SQL Server
Вам еще не сказали самый простой способ экспорта глобалей :)
в консоли (в нужном namespace): D^%GO
это программа экспорта глобалей.
можно прямо из проводника Cache (win) экспортировать глобали.
получится текстовый файл, потом его можно спокойно парсить.
можно написать простую программу на COS (встроенный язык),
которая запишет в файл глобал в нужном формате.
...
Рейтинг: 0 / 0
06.07.2006, 09:47
    #33834627
MX -- ALEX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
миграция СУБД Cache -> MS SQL Server
SwordFishскажу сразу - опыта работы к Cache нет.

если я правильно понимаю: %Library.CacheSQLStorage - шаблон класса (говоря терминами с++), и на его основе мы определяем работу с глобалями через реляционные механизмы доступа.

все хорошо, НО:
* глобалей у нас (мягко скажем) много
* опыта работы с Cache'ой (мягко скажем) мало
* нужен механизм только _чтения_ данных, причем "одноразовый". план работ примерно такой - выгружаем все что есть, изучаем, пишем конвертер, в день Икс выгружаем свежие данные и запускаем конвертер. все.

идеальный вариант - механизм, позволяющий "оптом" перекинуть все глюбали в формат для загрузки "куда нибудь". ;))

наш инструмент MX отобразит каждую м-глобаль на отдельный лист EXCEL
(если не влезет вся на лист - то по кускам)
и еще дополнительно может продублировать эти таблицы в файлы CSV

затем делайте с ними что хотите

mx@enters.eu
...
Рейтинг: 0 / 0
06.07.2006, 10:50
    #33834854
ну я
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
миграция СУБД Cache -> MS SQL Server
SwordFishГоспода!
Мы готовы обсудить сроки и стоимость работ по "извлечению" информации.

г. Санкт-Петербург, e-mail в визитке.
MedLab / MadTrack ?
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / миграция СУБД Cache -> MS SQL Server / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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