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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.04.2008, 12:38   #1  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
602 / 167 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
Соответствие типов X++ и MS SQL/Oracle
Здравствуйте!

Не смог найти как получить соответствие типов X++ (перечисление Types) типам MS SQL/Oracle.

Заранее благодарю за помощь!
Старый 07.04.2008, 13:00   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
А в книжке Шашкова/Еременко или в Inside Microsoft Dynamics AX чего не посмотреть?
Старый 07.04.2008, 13:11   #3  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
602 / 167 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
Меня интересует класс, который это делает при отправке DDL запросов на создание таблиц к БД.
Старый 07.04.2008, 13:18   #4  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Может это поможет?
Код:
Select *
  From SqlSystemVariables
__________________
Zhirenkov Vitaly
Старый 07.04.2008, 13:25   #5  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Естественно искать таблицу надо в БД... В АОТ её нету... (для 3-ки по крайней мере)
По этой же причине и не найдёте вы такого класса. За это отвечает ядро.
__________________
Zhirenkov Vitaly
Старый 07.04.2008, 13:37   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Ну, информацию из этой таблицы посмотреть не сложно
Администрирование\Запросы\Информация о БД

Но я там что-то не нашел соответствия типов
Старый 07.04.2008, 13:44   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от ZVV Посмотреть сообщение
Естественно искать таблицу надо в БД... В АОТ её нету... (для 3-ки по крайней мере)
Есть. FAQ: http://forum.mazzy.ru/index.php?showtopic=249
таблица SqlDictionary
__________________
полезное на axForum, github, vk, coub.
Старый 07.04.2008, 14:16   #8  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
2 mazzy: SqlSystemVariables != SqlDictionary
Таблица SqlSystemVariables в тройке не присутствует в АОТ вообще, даже в System Documentation. И в SQL Administration тоже...

Увидеть данные из неё можно действительно только в форме Администрирование\Запросы\Информация о БД, как отметил Кашперук.
При этом форма генерит "прямой" запрос к БД:
X++:
select parm, value, iparm from SqlSystemVariables order by value
и зполняет на его основе таблицу SqlParameters, в которой на постоянной основе данных нет.
__________________
Zhirenkov Vitaly
За это сообщение автора поблагодарили: mazzy (1).
Старый 07.04.2008, 14:20   #9  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Вот, теперь по сути...
Цитата:
... при отправке DDL запросов на создание таблиц к БД.
используются данные именно из этой таблице. Где-то в ядре. Класса "оупенсорс" какого-то, отвечающего за это дело нет. (По крайней мере я не нашёл)

Цитата:
Но я там что-то не нашел соответствия типов
Вот часть данных из этой таблицы:
X++:
STR                           	VARCHAR2(%u)
INT                           	NUMBER(10,0)
REAL                          	NUMBER(32,16)
DATE                          	DATE
ENUM                          	NUMBER(10,0)
BLOB                          	BLOB
TEXT                          	CLOB
Именно на основе этих данных аксапта и получает
Цитата:
...соответствие типов X++ (перечисление Types) типам MS SQL/Oracle.
__________________
Zhirenkov Vitaly
Старый 07.04.2008, 15:05   #10  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от ZVV Посмотреть сообщение
Вот, теперь по сути...

используются данные именно из этой таблице. Где-то в ядре. Класса "оупенсорс" какого-то, отвечающего за это дело нет. (По крайней мере я не нашёл)


Вот часть данных из этой таблицы:
X++:
STR                               VARCHAR2(%u)
INT                               NUMBER(10,0)
REAL                              NUMBER(32,16)
DATE                              DATE
ENUM                              NUMBER(10,0)
BLOB                              BLOB
TEXT                              CLOB
Именно на основе этих данных аксапта и получает
Ой сдается мне что это не аксаптовское соответствие, а стандарта SQL а аксаптовское где-то в ядре прописано. К примеру int64 там отсутствует.
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 07.04.2008, 15:13   #11  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Даже интересно, а как вам удалось добавить в таблицу поле типа Int64?
__________________
Zhirenkov Vitaly
Старый 07.04.2008, 15:21   #12  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Здесь именно соответствие между базовыми типами (Аксапты или просто базовыми типами, как тут правильно с точки зрения терминологии - затрудняюсь ответить ) и соответсвующими им типами MS SQL/Oracle. Используются они именно для генерации DDL при работе ядра с БД.

То что в аксапте есть и другие типы - ни для кого не секрет. Просто в DDL они либо не используются, либо прибодятся к "более базовому" типу.
__________________
Zhirenkov Vitaly
Старый 07.04.2008, 15:54   #13  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от ZVV Посмотреть сообщение
Даже интересно, а как вам удалось добавить в таблицу поле типа Int64?
Дык это базовый тип для DAX4 от него RecId происходит и еще куча всего, так он перекручивается в SQL в тип bigint
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 07.04.2008, 15:55   #14  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
602 / 167 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
Цитата:
Сообщение от ZVV Посмотреть сообщение
Даже интересно, а как вам удалось добавить в таблицу поле типа Int64?
В 4ке поля RecId имеют тип Int64 что соответствует типу BIGINT в MS SQL Server.
Старый 07.04.2008, 15:59   #15  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от ZVV Посмотреть сообщение
Здесь именно соответствие между базовыми типами (Аксапты или просто базовыми типами, как тут правильно с точки зрения терминологии - затрудняюсь ответить ) и соответсвующими им типами MS SQL/Oracle. Используются они именно для генерации DDL при работе ядра с БД.

То что в аксапте есть и другие типы - ни для кого не секрет. Просто в DDL они либо не используются, либо прибодятся к "более базовому" типу.
Сдаецца мне там все по другому:
1. сначала по EDT определяется базовый тип
2. далее базовый тип преобразуется в стандартный тип "Стандарта SQL", который и отправляется на сервер (SQL или Oracle)
3. А вот уже сервер самостоятельо интерпретирует типы "Стандарта SQL" в свои собственные!
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 07.04.2008, 16:08   #16  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Я же сразу оговорился, что говорю про третью (3) версию. Там recid это обычный Int.
__________________
Zhirenkov Vitaly
Старый 07.04.2008, 16:13   #17  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Открыл для интереса 4-ку и посмотрел: там в этой таблице больше нет соответствий типов вообще.

Видимо в 4-ке это перенесли полностью в ядро, если не добавили другой таблицы. Ковыряться искать - лень, извините.

Цитата:
Сдаецца мне там все по другому:
1. сначала по EDT определяется базовый тип
2. далее базовый тип преобразуется в стандартный тип "Стандарта SQL", который и отправляется на сервер (SQL или Oracle)
3. А вот уже сервер самостоятельо интерпретирует типы "Стандарта SQL" в свои собственные!
Думаю, что п.2 и 3. делается в ядре. Как вы себе представляете "сервер БД, решающий самостоятельно, какой тип использовать"?
Нее, в концепции Аксапты наверняка всё это решает ядро.
__________________
Zhirenkov Vitaly

Последний раз редактировалось ZVV; 07.04.2008 в 16:16.
Старый 07.04.2008, 16:39   #18  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от ZVV Посмотреть сообщение
Открыл для интереса 4-ку и посмотрел: там в этой таблице больше нет соответствий типов вообще.

Видимо в 4-ке это перенесли полностью в ядро, если не добавили другой таблицы. Ковыряться искать - лень, извините.



Думаю, что п.2 и 3. делается в ядре. Как вы себе представляете "сервер БД, решающий самостоятельно, какой тип использовать"?
Нее, в концепции Аксапты наверняка всё это решает ядро.
Элементарно представляю, т.к. ВСЕ сервера обязаны соответствовать стандарту (IEEE по моему) SQL-91 как минимум. И все внешние коннекты, например через ODBC работают именно с этим стандартом.

Поэтому таки п.3. на SQL сервере отрабатывается

зы: мот в написнии стандарта ошибся а в целом все именно так
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 07.04.2008, 16:56   #19  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Извините, логику не прослеживаю?
При чём здесь ODBC? Во-первых, ODBC и SQL Server - это не одно и то же.

А стандарт то они поддерживают, но это не значит, что они за вас будут переписывать ваши запросы...

Не буду говорить про 4-ку, я там во многом ещё не разбирался, возможно они там и унифицировали все используемые типи, но в тройке разница между используемыми типами в оракле и скл имеется, и задана она явно для каждой базы, как я уже показал выше. Думаю, что в 4-ке это соответсвие просто зашили где-то в ядре.

Более того, я думаю, п.3 "сервер самостоятельо интерпретирует ..." наверняка вообще отсутствует. Запрос DDL формирует непосредственно ядро.
__________________
Zhirenkov Vitaly
Старый 08.04.2008, 08:56   #20  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Не знаю может я и не прав, но в 4-ке мне не удалось получить SQL лог при создании таблицы, похоже DDL запросы не логируются, а на сервере логируются "в родном" виде...
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Теги
документация

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Нужен совет: Oracle или MS SQL vshor DAX: База знаний и проекты 51 17.03.2010 16:58
msdynamicsax: DAX 2009 and MS SQL 2008 Blog bot DAX Blogs 0 09.08.2008 14:05
Data migration AX 3.0 SP3 Oracle 9.1 -> AX 4.0 SP2 SQL 2005 dacom DAX: Администрирование 12 30.11.2007 11:25
переход существующего приложения c MS SQL на ORACLE velk DAX: Администрирование 22 27.07.2006 10:30
обеспечение лучшей производительности ms sql SHiSHok DAX: Администрирование 0 08.12.2005 11:12

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

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

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