Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Чтение глобалей на C# / 23 сообщений из 23, страница 1 из 1
17.08.2010, 11:42
    #36795051
AndrewQwer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
Допустим есть простеший глобал такого вида ^TEST(1)="Hello" ^TEST(2)="WORLD". Как прочесть ключи и значения в этом глобале на языке C#?
...
Рейтинг: 0 / 0
17.08.2010, 11:49
    #36795077
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
AndrewQwer , как вариант:
- подключиться к Каше
- Запустить некий метод некоего класса который вам будет возвращать нужные вам значения

Не совсем понятно почему "в век, когда космические корабли бороздят Большей театр" кто-то все еще использует "простейшие глобалы"?
...
Рейтинг: 0 / 0
17.08.2010, 13:08
    #36795346
AndrewQwer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
ну у нас база организована на глобалах. На них скорость работы вроде как выше, про C# спросил из чистого интереса, хотелось бы видеть рабочий пример на С# для работы с глобалами, через SQL запросы любой сможет )
...
Рейтинг: 0 / 0
17.08.2010, 13:19
    #36795395
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
вот вам и говорят, что для доступа к глобалам, нужны классы, через которые вы будете к ним обращаться
...
Рейтинг: 0 / 0
17.08.2010, 13:23
    #36795408
AndrewQwer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
понял, под каждый глобал фактически свой класс нужен.
...
Рейтинг: 0 / 0
17.08.2010, 13:34
    #36795439
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
AndrewQwerпонял, под каждый глобал фактически свой класс нужен.

неужели у вас так хитро построены глобалы, что вы не можети обращение к ним привести к стандарту, неверю

на крайний случай ведь можно сделать класс в метод которого передается целиком имя глобала, и вы получаете значение, тогда так можно получить данные из любого глобала
...
Рейтинг: 0 / 0
17.08.2010, 13:36
    #36795447
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
AndrewQwerпод каждый глобал фактически свой класс нужен.
Необязательно... Все зависит от того как организовано хранение. Приведи пример нескольких глобалов с их хранением... Поставь некую задачу - тогда можно предложить некие варианты решения.
Может все решиться одним "навигационным" классом с неким набором методов.

Но как вариант, можно вообще все через сторадж описать как классы и из вне использовать SQL-запросы.
...
Рейтинг: 0 / 0
17.08.2010, 13:52
    #36795484
AndrewQwer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
В целом я понимаю о чем вы все говорите. что можно создать класс, некие методы которым можем передавать что-нибудь и получать в ответ данные из глобалов, это все замечательно и в принципе логично, но глобалов у нас штук 300 и все они имею свою структуру (порой достаточно разветвленную) и создать некий общий класс для доступа к данным врядли получиться, да и не нужно. Я думал может есть способ напрямую обращаться к глобалам на других языках, так же просто как это умеет Cache :) но как видно нельзя... Да и существующая система хорошо работает через терминал и воротить что-то на других языках не имеет никакого смысла, просто вот возник вопрос по интеграции с другими языками.
...
Рейтинг: 0 / 0
17.08.2010, 14:15
    #36795548
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
AndrewQwerнапрямую обращаться к глобалам на других языках, так же просто как это умеет Cache :) но как видно нельзя...Можно, если воспользоваться VisM (Cache Direct). Насколько это перспективно и будет ли вам от этого счастье - другой вопрос. На этот счет мнения форумчан могут разниться :)
...
Рейтинг: 0 / 0
17.08.2010, 14:32
    #36795596
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
AndrewQwerсоздать некий общий класс для доступа к данным врядли получиться
Я бы небыл так пессимистичен... Всегда можно сделать универсальный "проход" по глобалу, а так же получение неких данных из него.
...
Рейтинг: 0 / 0
17.08.2010, 14:34
    #36795602
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
AndrewQwerЯ думал может есть способ напрямую обращаться к глобалам на других языках, так же просто как это умеет Cache :) но как видно нельзя...
Ну почему же?
DAiMorна крайний случай ведь можно сделать класс в метод которого передается целиком имя глобала, и вы получаете значение, тогда так можно получить данные из любого глобала
...
Рейтинг: 0 / 0
17.08.2010, 16:46
    #36796038
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
Для начало действительно можно пробовать VisM (Cache Direct).
Вот не помню для С, есть ли примеры в документации .
А вот для MSM-Activate точно есть ! Просто нужно запустить API сервер
для этого.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
#include "msmapi.h"

int return_code;
unsigned int sd;
char mcode[ 100 ];
char result[MSMK_MAXRETURNLEN];
strcpy(mcode, "S A=$$UPDATE^DBASE(10) WRITE A");
if (return_code = msm_xecute(sd, mcode, result, MSMK_MAXRETURNLEN))
    apierror("msm_xecute",return_code);


#include "msmapi.h"

int return_code;
unsigned int sd;
char mref [] = "tag^routine";
char mparams [] = "33,$H"
char result[MSMK_MAXRETURNLEN];
/* equivalent to S result=$$tag^routine(33,$H) */
if (return_code = msm_do(sd, mref, mparams, result, MSMK_MAXRETURNLEN))
    apierror("msm_do", return_code);
...
Рейтинг: 0 / 0
17.08.2010, 17:02
    #36796091
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
Я прошу прощения, не знаю если это подойдет для "шарпа" ... :( Примеры для C .
...
Рейтинг: 0 / 0
17.08.2010, 20:28
    #36796535
misha_shar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
В Каше возможность точно есть и она даже где то описана но я не понимаю для чего это. Любую обработку данных проще всего делать в Каше и получать готовый ответ на ваш вопрос. У меня клиенская часть сделана в Дельфи там есть ADO объект связи с Каше который позволяет вызвать функцию в Каше и получить ответ. С таким объектом я понимаю можно связаться из любого языка под Win.
...
Рейтинг: 0 / 0
18.08.2010, 10:00
    #36797054
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
AndrewQwerДопустим есть простеший глобал такого вида ^TEST(1)="Hello" ^TEST(2)="WORLD". Как прочесть ключи и значения в этом глобале на языке C#?
Сделать класс в котором определить методы-обертки для функций $O и $G
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Class qr.MyClass Extends %RegisteredObject
{

ClassMethod Order(Name, Val As %String) As %String
{
 Q $O(@Name@(Val))
}
ClassMethod Get(Gbl As %String) As %String
{
 Q $G(@Gbl)
}

}
А в C#
Код: plaintext
1.
string var = qr.MyClass.Order(CacheConnect, "^GlbName", "");
...
Рейтинг: 0 / 0
18.08.2010, 11:14
    #36797278
AndrewQwer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
Спасибо за примеры! на чистом каше все-таки проще )
...
Рейтинг: 0 / 0
18.08.2010, 11:27
    #36797330
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
AndrewQwerна чистом каше все-таки проще )
Обратное было бы странным...
...
Рейтинг: 0 / 0
10.09.2010, 11:03
    #36839668
AndrewQwer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
Сделать класс в котором определить методы-обертки для функций $O и $G
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Class qr.MyClass Extends %RegisteredObject
{

ClassMethod Order(Name, Val As %String) As %String
{
 Q $O(@Name@(Val))
}
ClassMethod Get(Gbl As %String) As %String
{
 Q $G(@Gbl)
}

}
А в C#
Код: plaintext
1.
string var = qr.MyClass.Order(CacheConnect, "^GlbName", "");

Я так понимаю для этого нужно использовать Cache Object Binding Wizard? у меня версия 5.0.21 для нее он кажись не работает
...
Рейтинг: 0 / 0
10.09.2010, 13:58
    #36840301
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
Ничего не могу сказать про 5.0.21, но начиная с 2007.1.3 работает
...
Рейтинг: 0 / 0
09.10.2010, 21:03
    #36891092
wertyBSD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
может этот вопрос не очень связан с си шарп, но можно получить глобальку через SQL запрос?
у меня ни как не получалось проделать такой фокус, по крайней мере в SQL мэнеджере
...
Рейтинг: 0 / 0
09.10.2010, 21:22
    #36891099
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
Что значит
wertyBSDполучить глобальку
?

Какую "глобальку"? Пример её структуры...
...
Рейтинг: 0 / 0
09.10.2010, 21:38
    #36891108
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
через простой запрос нельзя
но если очень хочется, то можно написать свою sql процедуру которая бы и давала нужные данные
...
Рейтинг: 0 / 0
09.10.2010, 21:47
    #36891111
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение глобалей на C#
wertyBSD,
напрямую глобаль в sql запросить нельзя, но если у глобала стабильная структура, то можно создать класс с хранением sqlstorage и накрыть им эту глобальку. Покажите структуру глобала.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Чтение глобалей на C# / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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