| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Выгрузка из 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) пробывал....  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Выдает ошибку 
		
		
		
		
		
		
		
	Ошибка. [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))  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А вы что за таблицу-то создаете? Где? 
		
		
		
		
		
		
		
	Например, у меня в Oracle ваш оператор сработал. Таблица создалась ![]() P.S. Надеюсь, вы не dBase-таблицу пытаетесь таким образом создать? P.P.S. Если задача разовая, то я бы вывел данные в Excel и сохранил как файл DBF (любой желаемой версии). А хоть бы и не разовая! Можно в таком виде автоматизировать полностью до конца.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Именно BDF файл я и хочу создать  
		
		
		
		
		
		
		
	![]() код, примерно, следующий: LoginProperty loginProperty = new LoginProperty(); OdbcConnection odbcConnection; Statement statement; ................... ................... odbcConnection = new OdbcConnection(loginProperty); statement = odbcConnection.createStatement(ResultSetType::ForwardOnly, ResultSetConcurrency::Updatable); statement.executeUpdate(sSQL); // в переменной sSQL сформирован запрос на создание таблицы, указанный ниже....  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			+loginProperty.setOther(strFmt('DSN=%1;DefaultDir=%2', #datasourceName, filePath)); 
		
		
		
		
		
		
		
	odbcConnection = new OdbcConnection(loginProperty); statement = odbcConnection.createStatement(ResultSetType::ForwardOnly, ResultSetConcurrency::Updatable);  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Да, действительно можно... Виноват! Ступил!  
		
		
		
		
		
		
		
	![]() А вот почитайте: Экспорт в DBF количество символов. Да и вообще запустите поиск по слову DBF  
		 | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Роман Долгополов (RDOL) 
		
			
	 | 
	
	
	
		
		
		
		 
			
			могу ошибаться ибо все уже забыто давно и сильно, но кажись для dBase нельзя быдо уточнять что же там за numeric. попробуйте использовать NUMERIC без дальнейшей специфкации точности - безо всяких цифр и скобок. ну и сотвественно целый/нецелый там хранится решать вашемо приложению
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Попробуйте использовать типы данных Integer и Double
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			При использовании Integer или Double все работает, но данные выгружаеются не так, как хотелось бы.... 
		
		
		
		
		
		
		
	Integer вообще выгружается с 5 ! знаками после запятой.  . Почему? Объяснить не могу   (Тип поля описан как Integer)по поводу NUMERIC без точности тоже работает, только выгрузка опять же идет не так как надо  
		 | 
| 
	
 | 
| 
	
	 | 
	
			 
			Похожие темы
		 | 
	||||
| Тема | Ответов | |||
| Проблема с ODBC? | 1 | |||
| ODBC и SQL 2005 | 15 | |||
| ODBC/ADO | 6 | |||
| Чтение данных из SQL Server через ODBC. Не работает в 3-х звенке | 7 | |||
| ODBC foxpro driver | 3 | |||
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
		
  |