AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.06.2013, 19:51   #1  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Не прочувствовал, зачем файлы хранить именно в базе? То есть почему просто не использовать допустим файловое хранилице? И почему файлы (правда вы не написали, что за файлы) допустим не хранить в ресурсах системы?
__________________
Axapta book for developer
Старый 14.06.2013, 07:02   #2  
Kainix is offline
Kainix
Участник
 
47 / 96 (4) ++++
Регистрация: 22.11.2007
Как же не написал DocuValue, стандартный функционал выносим в базу.
Получаемые плюсы,
1. Это доступ, если использовать файловое хранилище то каждый пользователь получает доступ. Например если хранятся изображения, то стандартным просмоторщиком можно их смотреть. Открыл изображение и крути себе скрол))).
2. Это бекапирование. Куда проще хранить бекап одного файла чем все эти папки и файлы.
3. Можно контролировать кто открыл файл и держит - стандартный функционал.
4. Так же если документов уж очень много. то возникают баги, тормоза при обслуживании всего этого хозяйства. Найти документ вручную, удалить подменить (хотя спорный момент)

Еще возможное использование. Все знаем SysDataBaseLog, которая ну очень большая, и приходится все время что то с ней делать. А тут можно преспокойно вынести в отдельную базу, и не таскать везде ссобой.

Самое главное что не теряем контейнеры, которые хранятся в этих 2х таблицах.

Ну и наверно еще извращенный мозг сможет придумать применение, при детальном подходе.

Последний раз редактировалось Kainix; 14.06.2013 в 07:10.
Старый 14.06.2013, 07:06   #3  
Kainix is offline
Kainix
Участник
 
47 / 96 (4) ++++
Регистрация: 22.11.2007
Не написал как доставать контейнер.
К сожалению не получилось средствами аксапты, не поддерживает синтаксис. Пришлось писать стороннюю функцию
X++:
public static string getStrFromImg(Object _img)
        {
            byte[] image = (byte[])_img;

            return Convert.ToBase64String(image);
        }
И функция в аксе
X++:
protected container getContainer(int _colNum)
{
    str     string = IAU.Functions::getStrFromImg(dataReader.GetValue(_colNum));
    ;

    return ContainerClass::blob2Container(binData::loadFromBase64(string));
}
Где System.Data.SqlClient.SqlDataReader dataReader; IAU.Functions - библиотека с функцией
Старый 14.06.2013, 10:38   #4  
Kainix is offline
Kainix
Участник
 
47 / 96 (4) ++++
Регистрация: 22.11.2007
Нашел метод считывания контейнеров без библиотеки.
X++:
protected container getContainer1(int _colNum)
{
    str     string ;
    ;
    string = CLRInterop::staticInvoke("System.Convert", "ToBase64String", dataReader.GetValue(_colNum));
    return ContainerClass::blob2Container(binData::loadFromBase64(string));
}
Итого библиотека понадобится чтобы обрабатывать сообщений из SQL
За это сообщение автора поблагодарили: someOne (3).
Старый 15.06.2013, 18:38   #5  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от Kainix Посмотреть сообщение
Как же не написал DocuValue, стандартный функционал выносим в базу.
Еще возможное использование. Все знаем SysDataBaseLog, которая ну очень большая, и приходится все время что то с ней делать. А тут можно преспокойно вынести в отдельную базу, и не таскать везде ссобой.
бррр... что то не сходится. если причины только в этом, то точно ничего не понимаю

что мешает вынести таблицы документооборота и SysDataBaseLog в отдельные файловые группы? бекапить/ресторить сможете отдельно, сможете засунуть на другие (более медленные/дешевые/просто другие) диски. делается пяткой левой ноги за 15 минут любым администратором бд без каких либо изменений в DAX
Теги
ado, внешняя база

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Взаимодействие с Excel через .NET (семейство классов SysExcel) gl00mie DAX: Программирование 102 11.08.2022 17:09
Ошибка с подключением через ODBC + глюк с работой через connection Corel DAX: Программирование 8 17.05.2012 11:58
Работа с Excel через COM нестабильна на x64 Максимка DAX: Программирование 6 27.01.2012 12:52
работа 1С из Аксапты через COM _scorp_ DAX: Программирование 7 22.08.2008 15:45
Работа с обычными отчетами через Enterprise Portal OliaM DAX: Программирование 0 17.01.2005 16:53

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:14.