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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.12.2008, 17:08   #1  
naf is offline
naf
Участник
 
12 / 10 (1) +
Регистрация: 07.02.2008
Выгрузка из ODBC
Привет всем!

Люди добрые, подскажите...

Необходимо сделать выгрузку в DBF файл. Основные грабли, что необходимо выгружать число (Integer) БЕЗ знаков после запятой, а тип REAL с 2 знаками....

При создании структуры таблицы использование NUMERIC(12,0) // integer и NUMERIC (12,2) // real приводит к ошибке

Кто сталкивался? Кто что расскажет?

........
case сellType::Number:
sSQL += 'NUMERIC(12,0)' + #Comma;
break;
case сellType::Float:
sSQL += 'NUMERIC(12,2)' + #Comma;
break;
...........

З.Ы.
Драйвер менял....
Microsoft FoxPro VFP Driver (*.dbf)
Microsoft dBase VFP Driver (*.dbf)
пробывал....
Старый 25.12.2008, 17:45   #2  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Цитата:
Сообщение от naf Посмотреть сообщение
Привет всем!
При создании структуры таблицы использование NUMERIC(12,0) // integer и NUMERIC (12,2) // real приводит к ошибке
Какой ошибке?
Цитата:
Сообщение от naf Посмотреть сообщение
(Integer) БЕЗ знаков после запятой
А по другому бывает?
Старый 25.12.2008, 17:50   #3  
naf is offline
naf
Участник
 
12 / 10 (1) +
Регистрация: 07.02.2008
Выдает ошибку

Ошибка. [Microsoft][ODBC dBase Driver] Syntax error in CREATE TABLE statement.

CREATE TABLE mi48121212 (d_ot DATE,d_pr DATE,lic NUMERIC(12,0),n NUMERIC(12,0),r110 NUMERIC(12,0),r120 NUMERIC(12,0),r121 NUMERIC(12,0),r122 NUMERIC(12,0),r130 NUMERIC(12,0),r135 NUMERIC(12,0),r140 NUMERIC(12,0),r210 NUMERIC(12,0),r211 NUMERIC(12,0),r212 NUMERIC(12,0),r220 NUMERIC(12,0),r230 NUMERIC(12,0),r240 NUMERIC(12,0),r250 NUMERIC(12,0),r260 NUMERIC(12,0),r270 NUMERIC(12,0),r280 NUMERIC(12,0),r281 NUMERIC(12,0),r282 NUMERIC(12,0),r283 NUMERIC(12,0),r284 NUMERIC(12,0),un_n NUMERIC(12,0))
Старый 25.12.2008, 17:56   #4  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
А вы что за таблицу-то создаете? Где?

Например, у меня в Oracle ваш оператор сработал. Таблица создалась

P.S. Надеюсь, вы не dBase-таблицу пытаетесь таким образом создать?

P.P.S. Если задача разовая, то я бы вывел данные в Excel и сохранил как файл DBF (любой желаемой версии). А хоть бы и не разовая! Можно в таком виде автоматизировать полностью до конца.
Старый 25.12.2008, 18:04   #5  
naf is offline
naf
Участник
 
12 / 10 (1) +
Регистрация: 07.02.2008
Именно BDF файл я и хочу создать

код, примерно, следующий:

LoginProperty loginProperty = new LoginProperty();
OdbcConnection odbcConnection;
Statement statement;
...................

...................
odbcConnection = new OdbcConnection(loginProperty);
statement = odbcConnection.createStatement(ResultSetType::ForwardOnly, ResultSetConcurrency::Updatable);

statement.executeUpdate(sSQL); // в переменной sSQL сформирован запрос на создание таблицы, указанный ниже....
Старый 25.12.2008, 18:05   #6  
naf is offline
naf
Участник
 
12 / 10 (1) +
Регистрация: 07.02.2008
+loginProperty.setOther(strFmt('DSN=%1;DefaultDir=%2', #datasourceName, filePath));

odbcConnection = new OdbcConnection(loginProperty);
statement = odbcConnection.createStatement(ResultSetType::ForwardOnly, ResultSetConcurrency::Updatable);
Старый 25.12.2008, 18:42   #7  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от naf Посмотреть сообщение
Именно BDF файл я и хочу создать
Да, действительно можно... Виноват! Ступил!

А вот почитайте: Экспорт в DBF количество символов.

Да и вообще запустите поиск по слову DBF
Старый 25.12.2008, 18:52   #8  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
могу ошибаться ибо все уже забыто давно и сильно, но кажись для dBase нельзя быдо уточнять что же там за numeric. попробуйте использовать NUMERIC без дальнейшей специфкации точности - безо всяких цифр и скобок. ну и сотвественно целый/нецелый там хранится решать вашемо приложению
Старый 25.12.2008, 18:58   #9  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Попробуйте использовать типы данных Integer и Double
Старый 25.12.2008, 19:07   #10  
naf is offline
naf
Участник
 
12 / 10 (1) +
Регистрация: 07.02.2008
Цитата:
Сообщение от _scorp_ Посмотреть сообщение
Попробуйте использовать типы данных Integer и Double
При использовании Integer или Double все работает, но данные выгружаеются не так, как хотелось бы....

Integer вообще выгружается с 5 ! знаками после запятой. . Почему? Объяснить не могу (Тип поля описан как Integer)

по поводу NUMERIC без точности тоже работает, только выгрузка опять же идет не так как надо
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с ODBC? Kozerog DAX: Администрирование 1 02.04.2007 20:44
ODBC и SQL 2005 tolstjak DAX: Администрирование 15 25.04.2006 12:40
ODBC/ADO Alexis DAX: Программирование 6 22.12.2005 18:50
Чтение данных из SQL Server через ODBC. Не работает в 3-х звенке sukhanchik DAX: Программирование 7 30.05.2005 17:52
ODBC foxpro driver Американец DAX: Программирование 3 14.03.2004 09:50

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:35.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.