powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / как получить имена полей при экспорте таблицы?
8 сообщений из 8, страница 1 из 1
как получить имена полей при экспорте таблицы?
    #36443212
228293
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вообщем делаю что то вроде бекапа в файл
Код: plaintext
D:\ase_15. 0 . 3 \bin>bcp dbname.dbo.tbl1 out d:\output.txt -Usa -P -c
или
Код: plaintext
1.
2.
3.
4.
SELECT * FROM tbl1
WHERE
     starttime BETWEEN '2009-05-07 ' AND '2009-05-08';
OUTPUT to 'd:\output.txt' delimited by '\t'

но в файле только данные
а как вывести в файл названия полей tbl1?
и еще вопрос можно ли с помощью bcp вывести не всю таблицу а данные за определенный период?
...
Рейтинг: 0 / 0
как получить имена полей при экспорте таблицы?
    #36443350
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
228293
Код: plaintext
1.
2.
3.
4.
SELECT * FROM tbl1
WHERE
     starttime BETWEEN '2009-05-07 ' AND '2009-05-08';
OUTPUT to 'd:\output.txt' delimited by '\t'

но в файле только данные
а как вывести в файл названия полей tbl1?
Код: plaintext
OUTPUT to 'd:\output.sql' format sql

228293и еще вопрос можно ли с помощью bcp вывести не всю таблицу а данные за определенный период?нет
...
Рейтинг: 0 / 0
как получить имена полей при экспорте таблицы?
    #36443374
228293
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,
спасибо за ответ

попробовал format sql
но добавился в начале файла только сам запрос, полей не появилось

поигрался с форматами(не все поддерживаются)
получилось лишь с format html - здесь выводит поля
...
Рейтинг: 0 / 0
как получить имена полей при экспорте таблицы?
    #36443663
prokhorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
228293,

Если я не ошибаюсь, bcp может выгружать не только из table, но и из view. Задав соответствующее условие при создании view, можно добиться желаемого - выгрузки данных за определенный период. Такой вариант не устроит ?
...
Рейтинг: 0 / 0
как получить имена полей при экспорте таблицы?
    #36443840
228293
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
prokhorov,

устроит я о таком не подумал
скажем даже не view а temporary (или с темп не получится?)

но вопрос все равно открыт
bcp также выгружает данные без названия полей
или нужны какие то опции?
...
Рейтинг: 0 / 0
как получить имена полей при экспорте таблицы?
    #36444161
228293
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нашел следующее
авторBy default, when you bulk copy data from a table with an IDENTITY column, bcp excludes all information about the column from the output file. If you specify the -E flag, bcp copies the existing IDENTITY column values into the output file.
но при копированнии таблицы в фалй выдает ошибку:
Код: plaintext
1.
2.
3.
Msg  7756 , Level  16 , State  1 :
Unable to SET IDENTITY_INSERT to ON/OFF for table
'dbname.dbo.tbl1' because the table does not have the identity
propery.
...
Рейтинг: 0 / 0
как получить имена полей при экспорте таблицы?
    #36449061
228293
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вообщем получил вывод названия полей и данных в текстовый файл через isql
а с помощью BCP не удалось это сделать.

В продолжение еще возникли вопросы:

1) если bcp копирует только данные то как эти данные импортируются в другую таблицу без структуры? получается нужна структура таблицы?
или для такого копирования вместо опции -с нужно использовать -n?

2) правильно ли я понял, что опция select into,bulkcopy,pllsort дает нам возможность использовать bcp иначе данные не будут скопированы?
протестил на двух базах в одной из которых включена эта опция и оба раза bcp сделала копию.

Код: 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.
C:\Sybase\BIN>isql  -Usa -P -S ServerTest
 1 > sp_helpdb
 2 > go
 name	db_size       owner	dbid	created		status
 ----	--------      -----	----	--------	----------------------       
 db22	 4096 . 0  MB     sa	 10 	Feb  09 ,  1900 	ddl in tran, allow nulls by default
 tempdb	  502 . 0  MB     sa	 2 	Apr  10 ,  1900 	select into/bulkcopy/pllsort

(return status =  0 )
 1 > exit

C:\Sybase\BIN>bcp db22.sa.tbl1 out c:\outdb22.txt -Usa -P -S ServerTest -c

Starting copy...

 851  rows copied.
Clock Time (ms.): total =  1       Avg =  0       ( 851000 . 00  rows per sec.)

C:\Sybase\BIN>bcp tempdb..syscolumns out c:\outtempdb.txt -Usa -P -S ServerTest -c

Starting copy...

 337  rows copied.
Clock Time (ms.): total =  1       Avg =  0       ( 337000 . 00  rows per sec.)
...
Рейтинг: 0 / 0
как получить имена полей при экспорте таблицы?
    #36449273
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
228293 wrote:

> вообщем получил вывод названия полей и данных в текстовый файл через isql
> а с помощью BCP не удалось это сделать.

Там можно выводить данные с форматным файлом, в режиме интерактивного создания
форматного файла. В этом случае BCP тебе и все колонки из таблицы вытянет,
и спросит про каждую, надо ли её выгружать, в каком формате и т.п.

> В продолжение еще возникли вопросы:
>
> 1) если bcp копирует только данные то как эти данные импортируются в
> другую таблицу без структуры? получается нужна структура таблицы?
> или для такого копирования вместо опции -с нужно использовать -n?

Нужна. Есть другие утилиты для этого -- стандартная defncopy
и не стандратная (но очень хорошая и всеми используемая) - dbschema.pl
Конечно же полно и других, но эти две наверное самые лучшие.

> 2) правильно ли я понял, что опция *select into,bulkcopy,pllsort* дает
> нам возможность использовать bcp иначе данные не будут скопированы?

Нет, иначе данные БУДУТ скопированы, но не будет использоваться
режим быстрой вставки данных без логирования (т.н. FAST BCP IN),
а будут использоваться обычные медленные INSERT-ы.
Но проставление select into,bulkcopy,pllsort на базе данных --
это не единственное необходимое условие для возможности FAST BCP IN.
Прочитай об этом подробно в документации на BCP.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / как получить имена полей при экспорте таблицы?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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