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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.11.2006, 14:07   #1  
Asterisk is offline
Asterisk
Участник
 
36 / 16 (1) ++
Регистрация: 24.10.2005
Адрес: Москва
импорт при несовпадающих tableid
Кто-нибудь сталкивался с проблемой не работающего экспорта через группы определений при несовпадающих tableid исходной и конечной таблицы. Есть две Аксапты - в одной таблица изначально определена на cus слое и имеет tableid 30018 , в другой - на usr слое и имеет recid 50135. При этом стандартный экспорт через группы определений не работает , так как не совпадают ни tableid ни reid у двух таблиц с полностью идентичным словарем
Есть какой - нибудь workaround для этой проблемы ?
Старый 27.11.2006, 14:14   #2  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Выгрузить данные из приложения, в которое нужно произвести закачку.
Сохранить def файл.
Выгрузить данные из другого приложения.
Заменить def файл. Закачать. По идее, если нет различия в структуре, должно пройти
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 27.11.2006, 17:38   #3  
Asterisk is offline
Asterisk
Участник
 
36 / 16 (1) ++
Регистрация: 24.10.2005
Адрес: Москва
Спасибо . Только видимо не для данного случая . По крайней мере во время импорта опять была ругань . Хотя идея очень красивая
Старый 27.11.2006, 17:41   #4  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Цитата:
Сообщение от Asterisk Посмотреть сообщение
Спасибо . Только видимо не для данного случая . По крайней мере во время импорта опять была ругань . Хотя идея очень красивая
Сравните структуры и порядок полей в двух def файлах. Ошибка, скорее всего там. Если не поможет используйте импорт через csv.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 27.11.2006, 17:56   #5  
Asterisk is offline
Asterisk
Участник
 
36 / 16 (1) ++
Регистрация: 24.10.2005
Адрес: Москва
А разве при импорте через csv не такой же принцип импорта - импорт идет по recid ? Насколько я понял имеется в виду что при экспорте надо указать тип файла csv формат . Однако при этом Axa опять создает def и dat файлы - чем ситуация отличается - честно говоря , не понимаю . Точнее даже , я не совсем понимаю почему называется импорт в csv - ведь файл в формате csv не создается ?
Старый 27.11.2006, 18:01   #6  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Выгрузить данные в csv (txt файл с определенным разделителем) достаточно легко. При импорте можно будет управлять порядком данных (столбцов), а вот id полей уже никакого влияния не окажут
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 27.11.2006, 18:15   #7  
Asterisk is offline
Asterisk
Участник
 
36 / 16 (1) ++
Регистрация: 24.10.2005
Адрес: Москва
А как именно ? Если просто указать csv файл в меню Параметры экспорта то мы имеем на выходе два файла - dat и def (см предыдущий пост) Какой из них считается csv ??
Старый 27.11.2006, 21:05   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Asterisk Посмотреть сообщение
А как именно ?
Скорее всего имелся в виду импорт из текстового файла
http://axapta.mazzy.ru/lib/import/
__________________
полезное на axForum, github, vk, coub.
Старый 27.11.2006, 21:26   #9  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
1. Создал табличку. Имя (метку в названии) ей указать забыл.

2. Экспортировал в .xpo

3. Ввел три строчки.

4. Экспортировал табличку в .dat

5. Удалил табличку.

6. Импортировал .xpo

7. Убедился, что изменился ID таблички.

8. Импортировал данные. Хм... Пишет, что импортировало 0 записей.

9. Убедился, что в табличке три записи.

В общем-то, даже и не сомневался, что оно работает.

Как воспроизвести вашу проблему? И при чем здесь RecId, если речь идет об идентификаторах таблиц и полей, а также о переносе кода между слоями?
__________________
С уважением,
glibs®
Старый 28.11.2006, 09:52   #10  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Скорее всего не совпадает структура данных. В этом случае единственный доступный способ - закачка не из двоичного файла.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 28.11.2006, 15:18   #11  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
ругается, потому что tableid записывается в данные при экспорте, не только в деф-файл, причем в каждую строку данных

делайте экспорт с типом csv, в текстовом редакторе в дат и деф-файлах массово заменяйте один tableid на другой
Старый 28.11.2006, 15:56   #12  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Цитата:
Сообщение от Artem Mikhailov Посмотреть сообщение
ругается, потому что tableid записывается в данные при экспорте, не только в деф-файл, причем в каждую строку данных

делайте экспорт с типом csv, в текстовом редакторе в дат и деф-файлах массово заменяйте один tableid на другой
Откуда такие сведения? Разбор метода record2con в SysDataExport не выявил высказанного
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 28.11.2006, 16:10   #13  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от Artem Mikhailov
...
ругается, потому что tableid записывается в данные при экспорте, не только в деф-файл, причем в каждую строку данных
...
М.б. Я точно не помню. Но там есть мощный алгоритм, который .def файл разбирает. И, если мне не изменяет память (смотреть лень), изменение идентификатора таблицы он отлавливает (по-моему, по имени). Да и опытным путем работоспособность импорта подтверждается.
__________________
С уважением,
glibs®
Старый 28.11.2006, 17:43   #14  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Может у таблицы выключен параметр saveDataPerCompany и система считает ее системной... тогда надо галочку пометить (импортировать системные).
Старый 28.11.2006, 19:13   #15  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
покажите первую строку дефа
для EXPFORMAT VER. 3.0 CIS SP2 это так

для более поздних я думаю эта нелепость с совпадением тейблайди устранена
Старый 28.11.2006, 19:20   #16  
Artem Mikhailov is offline
Artem Mikhailov
Участник
 
19 / 11 (1) +
Регистрация: 22.10.2005
Цитата:
Сообщение от KiselevSA Посмотреть сообщение
Откуда такие сведения?
3.0 cis sp2. сделайте экспорт в формате сsv, откройте дат-файл в блокноте. второе поле по всем строкам - tableid. после его замены на новое значение аксапта всасывает файл не поперхнувшись
Старый 29.11.2006, 08:33   #17  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Цитата:
Сообщение от Artem Mikhailov Посмотреть сообщение
3.0 cis sp2. сделайте экспорт в формате сsv, откройте дат-файл в блокноте. второе поле по всем строкам - tableid. после его замены на новое значение аксапта всасывает файл не поперхнувшись
А вот Вы о чем. Никогда не использовал стандартную выгрузку в csv для импорта, только двоичный формат. Я говорил о группе определений для экспорта/импорта с типом "Произвольный". Для таких типов доступен только импорт, но можно подключать обработки и указывать набор и порядок полей.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 29.11.2006, 11:24   #18  
Asterisk is offline
Asterisk
Участник
 
36 / 16 (1) ++
Регистрация: 24.10.2005
Адрес: Москва
Насколько я понял , обсуждение пошло по двум параллельным направлениям Glibbs сомневается в существовании проблемы , Артем в ее существовании не сомневается и пытается дать совет.
Предлагаю сперва определиться с тем что проблема все таки есть Мощный алгоритм , по всей видимости , все таки не отслеживает изменения id шников полей . В принципе мне это кажется логичным - любой алгоритм должен использовать минимальный набор данных и работать быстро .Поэтому стандартный алгоритм отталкивается от id шников и предполагает что id таблицы и полей при импорте не меняются
2 raz : SaveDataPerCompany у таблицы включен

Алгоритмы связанные с заменами , подменами и переименованиями id -шников очень интересны , но у меня например возникали ошибки и результат был нулевой
Потом ручное переименование 10 полей
Старый 29.11.2006, 11:40   #19  
Asterisk is offline
Asterisk
Участник
 
36 / 16 (1) ++
Регистрация: 24.10.2005
Адрес: Москва
(продолжение) это одно , а если полей 50 ?? Это может привести к трудно уловимым ошибкам при экпорте

Хотелось бы все таки поставить оптимистичную точку в этом обсуждении . Я воспользовался стандартной функциональностью SQL server а - создал DTS package в Data Transformation Services\Local Packages создал там необходимое количество task ов для импорта - и вперед
При это столкнулся с двумя проблемами
1) Была ругань на consistency поля recVersion - убрал соотвествующую трансформацию на закладке transformations
2) В исходной базе компания была wrk , в конечной - dat - соотвественно поменял dataareaid уже в Аксапте при помощи UserConnection

UserConnection connection = new UserConnection();
Statement statement;
;
ttsbegin;
statement = connection.createStatement();
statement.executeUpdate("Update " + <название таблицы> +
" SET " + chooseTable.text() + ".DataAreaId = '"
+ <название компании>+ "'");
statement.close();
ttscommit;
element.close();


Вот пожалуй и все . Не могу сказать что все прямо совсем оптимально (например компанию скорее всего можно было поправить еще при импорте в SQL) , но по крайней мере это работает и проблем вроде нет


Всем большое спасибо за помощь !
Старый 29.11.2006, 12:48   #20  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от Asterisk
...
Предлагаю сперва определиться с тем что проблема все таки есть Мощный алгоритм , по всей видимости , все таки не отслеживает изменения id шников полей . В принципе мне это кажется логичным - любой алгоритм должен использовать минимальный набор данных и работать быстро .Поэтому стандартный алгоритм отталкивается от id шников и предполагает что id таблицы и полей при импорте не меняются
...
М.б. перейдем от теории к практике?

Я снова поставил эксперимент.

1. Экспортировал данные из описанной выше таблицы в двоичный формат .dat.

2. Экспортировал данные из описанной выше таблицы в двоичный формат .csv.

3. Экспортировал таблицу со значениями идентификаторов.

4. Удалил таблицу.

5. Открыл .xpo файл и поменял илентификаторы таблицы и полей на левые.

6. Импортировал таблицу.

7. Убедился в том, что идентификаторы в таблице (для таблицы и для поля) именно такие, как я из ввел в .xpo файле.

8. Импортировал данные из .dat файла. Ошибок при импорте не было. Данные присутствуют.

9. Удалил данные из таблицы.

10. Импортировал данные из .csv файла. Ошибок при импорте не было. Данные присутствуют.

Существует практический способ воспроизведения вашей проблемы?

Аксапта 3.0 ЕЕ сп5 без ядерных ролапов.

Эта хрень работает. Ею можно пользоваться для выгрузки-загрузки данных. Конечно, можно придумать и другие способы импорта данных, если именно это является вашей целью...
__________________
С уважением,
glibs®
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Стандартный импорт данных. Обновление sparur DAX: Функционал 0 24.03.2008 19:07
Что лучше select RecId или select TableId Logger DAX: Программирование 9 02.06.2007 15:13
Стандартный импорт данных... Jony DAX: Программирование 0 28.09.2006 15:32
Экспорт/импорт таблиц IT-specialist DAX: Администрирование 15 26.02.2005 20:46
Импорт данных из ODBC источника JohNick DAX: Программирование 4 09.04.2004 10:17

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

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

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