Как запросить у Intersystems Caché список пространств имен через SQL?C#

Место общения программистов C#
Anonymous
Как запросить у Intersystems Caché список пространств имен через SQL?

Сообщение Anonymous »

Я подключаюсь к базе данных межсистемного кэша через C#, и мне нужно получить список всех доступных пространств имен.
Я использую такой код:

Код: Выделить всё

namespace ConsoleApp13
{
internal class Program
{
static void Main(string[] args)
{

var CS = "Server=XXXXX;User=system;Password=sys;";

var C = new InterSystems.Data.CacheClient.CacheConnection(CS);

C.Open();

var Command = C.CreateCommand();
Command.CommandText = $@"
select * from %SYS.Namespace_List()
";

var Values = Command.ExecuteReader();

while (Values.Read()) {

}

}
}
}
Однако я получаю сообщение об ошибке:

Код: Выделить всё

InterSystems.Data.CacheClient.CacheException: '[SQLCODE: :
]
[Location: ]
[%msg: ]'
Кажется, у меня нет разрешений, однако, если я помещаю пространство имен в строку подключения, это, похоже, работает.
Есть ли у кого-нибудь идеи о том, как получить список пространств имен (через SQL), доступных пользователю?>

Вернуться в «C#»