Да, это поддерживается.Я использовал это совсем немного в прошлом.Эта функция была доступна с помощью службы формирования данных , поставляемой с MDAC (в файле с именем Msadds.dll).Поставщик OLE DB называется MSDataShape
, и вы будете использовать команду SHAPE для получения иерархических результатов.Синтаксис строки подключения был похож на следующий:
Jet:
Provider=MSDataShape;Data Provider=Microsoft.Jet.OLEDB.4.0;Data Source=PathToMyDatabase.mdb;
SQL Server:
Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=ServerNameOrAddress;Initial Catalog=DatabaseName;User ID=;Password=
Несколько вещей, на которые стоит обратить внимание:
Синтаксис SHAPE может стать очень громоздким (и неудобным), поскольку ваши запросы становятся более сложными, так что имейте это в виду.
Если выИспользуя .NET, ту же функциональность можно реализовать с классами DataSet
и DataRelation
.
Что более важно, в документации четко указано, что:
Эта функция будет удалена в следующей версии Windows.Избегайте использования этой функции в новых разработках и планируйте модифицировать приложения, которые в настоящее время используют эту функцию.Вместо этого приложения должны использовать XML.