Я хотел был бы иметь возможность прочитать Dynamics NAV 2013 Table Metadata непосредственно из базы данных SQL Server без requiring the NAV Development Environment.Чтение метаданных таблицы Dynamics NAV с SQL
можно просматривать бинарные SQL «образ» BLOB столбцы с запросом, как в следующем (фильтр по мере необходимости с ИНЕКЕ):
SELECT
o.[Name],
m.[Object Type],
m.[Metadata], -- XML Metadata
m.[User Code], -- C# Metadata
m.[User AL Code] -- C/AL Metadata
FROM [Navision].[dbo].[Object Metadata] AS m
JOIN [Navision].[dbo].[Object] AS o
ON m.[Object ID] = o.[ID]
AND o.[Company Name] = 'YourCompanyName'
AND o.[Type] = 0 -- 0 is NAV Table Object Type
можно сохранить двоичные данные из [Метаданные], [Пользовательский код] и [Пользовательский код AL] отключены в файлах, используя код .Net или быстрый скрипт с драйвером SQL. Я попытался использовать 7-zip для распаковки, шестнадцатеричный редактор для просмотра и команду «файл» Cygwin для обнаружения этих типов файлов BLOB.
К сожалению, я не могу понять, как декодировать или распаковывать двоичные данные в читаемом или пригодном для использования формате. Пока я не буду использовать данные в этих полях напрямую, я должен указать open NAV Dev Environment and use the Object Designer to view the comma-separated OptionString properties для раскрывающегося меню списка нулевого поиска (каждый элемент в списке сохраняется в базе данных в виде целого числа - 0 для первого элемента, 1 для второго , и т.д). Строковые значения отсутствуют в таблице поиска SQL, но NAV помещает их в кадры таблицы метаданных таблицы.
Это недостающее звено для меня, чтобы полностью поддерживать пользователей NAV в качестве администратора баз данных без необходимости разработки NAV-приложений для сопоставления этих имен для сопоставлений полей NAV для имени. Затем я могу найти эти значения в списке и создать соответствующие SQL-запросы CASE или настраиваемые таблицы поиска по мере необходимости.
Как только у меня есть этот кусок, я должен иметь возможность создавать расширенные SQL-запросы, запросы, отчеты и инструменты без необходимости доступа к внешнему пользователю или инструментам разработчика Dynamics NAV.
Пожалуйста, дайте мне знать, если у вас есть знание формата двоичных данных, используемых для этих свойств BLOB метаданных объекта NAV. Любые советы о том, как преобразовать в удобочитаемый или пригодный для использования формат, будут полезны.
Замечательно! Microsoft снова удивляет. Почему, черт возьми, добавьте 4 глупых байта? –
@MakSim Я предполагаю, что это префикс типа, чтобы они могли хранить материал в другом формате, если они этого захотят. –
@VincentVancalbergh Нет такой функции в Nav, хотя –