Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Выгрузка данных из таблицы в DBF / 8 сообщений из 8, страница 1 из 1
30.03.2005, 13:03
    #32988370
petrensd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных из таблицы в DBF
Господа ! Помогите новичку: как из имеющейчас SQL сервере (table1) вигрузить данныe в файл с формата DBF ?
SELECT * from table1 output to c:\table1.txt - это в текстовый формат а в DBF ?
...
Рейтинг: 0 / 0
30.03.2005, 13:46
    #32988542
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных из таблицы в DBF
select * from table1;
output to c:\1.dbf FORMAT DBASEIII;
...
Рейтинг: 0 / 0
30.03.2005, 14:34
    #32988726
petrensd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных из таблицы в DBF
Спасибо за помощь. Все получилось.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
02.02.2009, 15:39
    #35791841
Alexey1st
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных из таблицы в DBF
Как получилось??? У меня пишет "Incorrect syntax near the keyword 'output'."

Что не так?

Сервер: Adaptive Server Anywhere 6.0
...
Рейтинг: 0 / 0
02.02.2009, 16:47
    #35792009
Sergey Orlov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных из таблицы в DBF
Alexey1stКак получилось??? У меня пишет "Incorrect syntax near the keyword 'output'."

Что не так?

Сервер: Adaptive Server Anywhere 6.0
Команда output работает в Interactive SQL, а не в самом сервере..
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
29.10.2010, 13:10
    #36927703
Misha_LV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных из таблицы в DBF
Вопрос : При выгрузке таблицы в файл dbf с помощью интерактив sql ,структура файла dbf отличается от структуры в таблице,например вместо поля numeric(12,4) получаем в dbf numeric(14,4).
Тоже самое получаем например в таком случае
select cast(12.234 as numeric(12,4)) as x from dummy;output to d:\test.dbf format dbaseIII;

Можно ли на выходе получить файл dbf такой же структуры как и таблица ?
...
Рейтинг: 0 / 0
29.10.2010, 14:31
    #36927903
V.V.L.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных из таблицы в DBF
В принципе, если объем выгружаемых данных небольшой, можно (например) в процедуре формировать двоичные данные и выгружать их в файл. Структура DBF файла очень простая.
...
Рейтинг: 0 / 0
29.10.2010, 20:23
    #36928686
iLLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных из таблицы в DBF
Кусок скрипта по формированию DBF для выдачи его через HTTP. Если облагородить, то можно и в фак. Но мне лень...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
  declare local temporary table t_result(
    "v1"    		integer NOT NULL ,
    "v2"    		varchar( 32 ) NULL ,
    "v3"    		integer NULL ,
    "v4"    		varchar( 20 ) NULL ,
    "v5"    		varchar( 200 ) NULL ,
    "v6"    		smallint NULL ,
    ) on commit delete rows;


  set s='select ... from ...';

  set b='';

  set s='insert into t_result ' || s;
  execute immediate s;
  set rec_count = @@rowcount;

  for ListFor as List dynamic scroll cursor for
      select ' ' || 
        "right"(repeat(' ', 16 ) || convert(char,isnull(v1, 0 )), 16 ) ||
        "left"(isnull(v2,'') || repeat(' ', 32 ), 32 ) ||
        "right"(repeat(' ', 16 ) || convert(char,isnull(v3, 0 )), 16 ) ||
        "left"(isnull(v4,'') || repeat(' ', 20 ), 20 ) ||
        "left"(isnull(v5,'') || repeat(' ', 200 ), 200 ) ||
        "right"(repeat(' ', 16 ) || convert(char,isnull(v6, 0 )), 16 ) as vv1
      from t_result
  do
      set b=b || vv1;
  end for;
      
  set s='';
  set s=s || '\x03';
  set s=s || '\x09\x05\x0C'; //YYMMDD создания DBF
  set s=s || "char"(mod(rec_count, 256 )) || "char"(mod(rec_count/ 256 , 256 )) || "char"(mod(rec_count/ 256 / 256 , 256 )) || "char"(rec_count/ 256 / 256 / 256 ); //Records count
  set s=s || '\xE1\x00'; //Header size = 32 + 32*cnt_field + 1
  set s=s || '\x2D\x01'; //Record length with separate space
  set s=s || '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'; //header_complete

  set s=s || 'AA\x00\x00\x00\x00\x00\x00\x00\x00\x00'; //field name
  set s=s || 'N\x00\x00\x00\x00'; //тип поля
  set s=s || '\x10\x00'; //размер поля и кол-во знаков после запятой
  set s=s || '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'; //

  set s=s || 'BBBBBBB\x00\x00\x00\x00'; //field name
  set s=s || 'C\x00\x00\x00\x00'; //тип поля
  set s=s || '\x20\x00'; //размер поля и кол-во знаков после запятой
  set s=s || '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'; //

  set s=s || 'CCC\x00\x00\x00\x00\x00\x00\x00\x00'; //field name
  set s=s || 'N\x00\x00\x00\x00'; //тип поля
  set s=s || '\x10\x00'; //размер поля и кол-во знаков после запятой
  set s=s || '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'; //

  set s=s || 'DDDD\x00\x00\x00\x00\x00\x00\x00'; //field name
  set s=s || 'C\x00\x00\x00\x00'; //тип поля
  set s=s || '\x14\x00'; //размер поля и кол-во знаков после запятой
  set s=s || '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'; //

  set s=s || 'EEEE\x00\x00\x00\x00\x00\x00\x00'; //field name
  set s=s || 'C\x00\x00\x00\x00'; //тип поля
  set s=s || '\xC8\x00'; //размер поля и кол-во знаков после запятой
  set s=s || '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'; //

  set s=s || 'FFFF\x00\x00\x00\x00\x00\x00\x00'; //field name
  set s=s || 'N\x00\x00\x00\x00'; //тип поля
  set s=s || '\x10\x00'; //размер поля и кол-во знаков после запятой
  set s=s || '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'; //

  set s=s || '\x0D';
  set s=s || csconvert(b,'cp866','cp1251');
  set s=s || '\x1A';

  call dbo.sa_set_http_header('Content-disposition','attachment; filename=bla-bla.dbf');
  call dbo.sa_set_http_header('Content-Type','application/octet-stream');
  return(s);
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Выгрузка данных из таблицы в DBF / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]