Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как исполнить код COS из приложения .NET? / 14 сообщений из 14, страница 1 из 1
07.04.2010, 04:04
    #36564730
ZLOI13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
Не получается мне оседлать VisM под .NET
Ругается на вот эту фразочку :(
Код: plaintext
1.
2.
            VisM a = new VisM();
            a.Server = "CN_IPTCP:127.0.0.1[57772]:SYS:_SYSTEM";
Server Recive timed out. Может надо сам сервак настроить, где-то галочку поставить или шлюз открыть?!

А я не хочу использовать SQL, мне вот COS подавай :)
Кто-то может сказать, типа зачем в клиенте такие вещи вставлять, но с другой стороны, а зачем SQL в клиенте, если я хочу вызывать методы объектов, название, которых заранее неизвестно, у классов, название которых также неизвестно заранее, а также присваивать значения свойствам. Сомневаюсь, что возможно сформировать чёткую онтологию, поэтому нужен универсальный вариант. Работаю с автокадом, пишу под ObjectArx.Net, поэтому требуется MVS 2005/2008 и .NET соответственно.
Ну что? Кто-нибудь достаточно компетентен, чтобы подсказать? :)
...
Рейтинг: 0 / 0
07.04.2010, 09:13
    #36564857
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
  var a = new VisM();
  a.Connect("CN_IPTCP:127.0.0.1[57772]:_SYSTEM:@SYS", "mytag");
  a.NameSpace = "SAMPLES";
  try
  {
    a.Execute("set VALUE=$ZVERSION");
    var s = a.VALUE;
    MessageBox.Show(s.ToString());
  }
  finally
  {
    a.DeleteConnection();
  }
Не забудьте настроить сервис %Service_CacheDirect .
Синтаксис строки подключения VisM
...
Рейтинг: 0 / 0
07.04.2010, 10:44
    #36565055
ZLOI13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
servit , что за язык вы используете?
var - Delphi,
{} - не делфи

Или var - это тип какой-то специальный?
В MSDN не нашёл :(

Сервис в админ панели говорит нам о том, что:
%Service_CacheDirect
Вкючён - Да
Публичный -Да
Методы аутентификации - Не аутентифицированный
Описание - Неограниченный
Описание - Управление Cache Direct

Если привести к C#, то на это он ругается точно так же :(
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
        private void button1_Click(object sender, EventArgs e)
        {
            VisM a = new VisM();
            a.Connect("CN_IPTCP:127.0.0.1[57772]:_SYSTEM:@SYS", "mytag");
            a.NameSpace = "USER";
            

        }
...
Рейтинг: 0 / 0
07.04.2010, 11:04
    #36565130
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
C# 3.0 (не путать с версией .NET Framework)
Если включён неаутентифицированный доступ, то логин/пароль в строке подключения указывать необязательно.
Проверьте тот ли порт Вы указываете.
Как я понимаю, 57772 - это порт Вашего встроенного Apache, а нужно указывать порт суперсервера, например, 1972.
...
Рейтинг: 0 / 0
07.04.2010, 11:41
    #36565254
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
servitЕсли включён неаутентифицированный доступ, то логин/пароль в строке подключения указывать необязательноБолее того, если неаутентифицированный доступ - единственный разрешенный вариант для сервиса, то попытка аутентифицироваться методом "Пароль" неизбежно приведет к ошибке.
...
Рейтинг: 0 / 0
07.04.2010, 11:46
    #36565283
ZLOI13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
servit , УРА!!!! Работает =D
СУПЕРСКИ!!! Вот что значит свобода!!!
БОЛЬШОЕ СПАСИБО!
...
Рейтинг: 0 / 0
07.04.2010, 11:49
    #36565304
ZLOI13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
Alexey Maslov ,
нет, вроде не привело.
...
Рейтинг: 0 / 0
07.04.2010, 11:51
    #36565317
ZLOI13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
Alexey Maslov ,
причём можно менять имя и пароль, он просто их игнорит, так что я на будущее оставлю, чтобы не полезло, когда разовью проект (если разовью :)).
...
Рейтинг: 0 / 0
07.04.2010, 12:34
    #36565515
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
ZLOI13, согласен, погорячился :) Сказанное (мною :) выше справедливо для любого другого сервиса, кроме CacheDirect. См.:док-я по VisMThe connection string can include the username and password; these are used only if you have enabled the Caché Direct login option. This login option has been rendered obsolete by Caché security and is thus not documented apart from this mention.
Т.е. это совсем не те логин и пароль, которые задаются в Портале. Если включить аутентификацию "Пароль", это приведет к появлению окошка запроса пароля, а логин и пароль в строке коннекта по-прежнему будут игнорироваться.
Мне кое-что известно о том, как включить эту экзотическую опцию "Caché Direct login", но, ИМХО, не актуально это в наши дни :). Повторюсь (уже писал об этом): не используйте Cache Direct в новых разработках, потом захотите "вытравить", а будет никак (или сложно). Тот же функционал можно реализовать, написав универсальный метод класса, который будет eXecut-ить строку, передаваемую вами в параметре (например).
...
Рейтинг: 0 / 0
07.04.2010, 13:58
    #36565854
ZLOI13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
Alexey Maslov ,
Alexey Maslov
Тот же функционал можно реализовать, написав универсальный метод класса, который будет eXecut-ить строку, передаваемую вами в параметре (например).

Так вот я пробовал, но не получилось, можете пример?
Чтобы ехекутило строку?
...
Рейтинг: 0 / 0
07.04.2010, 15:10
    #36566151
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
ZLOI13, вот грубый шаблон:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Class User.Generic Extends %RegisteredObject [ Not ProcedureBlock ]
{

ClassMethod exec(sCommandLine As %String) As %String
{
		set $zt="error", sRes=""
		xecute sCommandLine
		// поместим результаты в строку
		// (впрочем, это можно сделать и внутри sCommandLine...)
		g exit
error
		set $zt=""
		set sRes=$ze
exit
		quit sRes
}

}
...
Рейтинг: 0 / 0
07.04.2010, 15:19
    #36566173
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
[Not Procedureblock] для Xecute не обязательна, это я для общности вставил. Вдруг Job'ы потребуется запускать или сохранять локальную среду между вызовами метода exec.
...
Рейтинг: 0 / 0
07.04.2010, 17:22
    #36566631
Turk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
Alexey MaslovZLOI13, согласен, погорячился :) Сказанное (мною :) выше справедливо для любого другого сервиса, кроме CacheDirect. См.:док-я по VisMThe connection string can include the username and password; these are used only if you have enabled the Caché Direct login option. This login option has been rendered obsolete by Caché security and is thus not documented apart from this mention.
Т.е. это совсем не те логин и пароль, которые задаются в Портале. Если включить аутентификацию "Пароль", это приведет к появлению окошка запроса пароля, а логин и пароль в строке коннекта по-прежнему будут игнорироваться.
Как раз те логин и пароль. Если у вас появляется диалог ввода данных подключения, то значит строка коннекта собрана неправильно. Для подключения к Cache 5.0 я пользуюсь конструкцией "CN_IPTCP:server[port]:username:encryptedPassword", для более поздних версий - "CN_IPTCP:server[port]:slaveserver[port]:username:@password".
...
Рейтинг: 0 / 0
07.04.2010, 18:36
    #36566859
ZLOI13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как исполнить код COS из приложения .NET?
Alexey Maslov ,
чтож эмоции прошли, но тоже ура! Это то чего я и хотел собственно =)
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как исполнить код COS из приложения .NET? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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