Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / BCP запроса ASE 12.5.x / 19 сообщений из 19, страница 1 из 1
15.01.2008, 21:07
    #35063966
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
Господа подскажите пожалуйста,
можно ли в ASE 12.5.x выгрузить результат запроса.
Именно запроса и не вьюхи.
Т.е. что-то bcp "select x from t" out и.т.д.

У меня не получается и в доках ничего не могу найти. Такое подозрение что запрос выгрузить нельзя.

Заранее большое спасибо
...
Рейтинг: 0 / 0
15.01.2008, 21:19
    #35063977
rcryo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
низя

тебе может помочь SQSH

Redirection & Pipes
How many times have you watched a result set disappear from your screen because you didn't hit ^S fast enough? Well, no more. Now, any command available in sqsh may be redirected to/from a file or pipelined to another process. For example, it is now legal to type:
1> SELECT * FROM sysobjects
2> go | grep test | more

You may also redirect output to files and (if you are careful) can redirect input from files:
1> select * from sysobjects
2> go 2>/dev/null >/tmp/objects.txt


Interserver BCP
Using the \bcp command, sqsh supports the ability to transfer the result set from any command batch to another server (or even the same server) via the Sybase bcp protocol. This feature is particulary nice because current the standard Sybase bcp program does not support being able to transfer directly between server, or the ability to specify which rows from the source server are to be copied.
1> SELECT customer_id, item, SUM(qty)
2> FROM orders
3> GROUP BY customer_id, item
4> \bcp -S SYB_DSS shipping.dbo.order_summary

Starting...
Batch successfully bulk-copied to SQL Server
Batch successfully bulk-copied to SQL Server
Batch successfully bulk-copied to SQL Server
...
...
Рейтинг: 0 / 0
15.01.2008, 21:35
    #35063997
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
rcryoнизя

тебе может помочь SQSH

Redirection & Pipes
How many times have you watched a result set disappear from your screen because you didn't hit ^S fast enough? Well, no more. Now, any command available in sqsh may be redirected to/from a file or pipelined to another process. For example, it is now legal to type:
1> SELECT * FROM sysobjects
2> go | grep test | more

You may also redirect output to files and (if you are careful) can redirect input from files:
1> select * from sysobjects
2> go 2>/dev/null >/tmp/objects.txt


Interserver BCP
Using the \bcp command, sqsh supports the ability to transfer the result set from any command batch to another server (or even the same server) via the Sybase bcp protocol. This feature is particulary nice because current the standard Sybase bcp program does not support being able to transfer directly between server, or the ability to specify which rows from the source server are to be copied.
1> SELECT customer_id, item, SUM(qty)
2> FROM orders
3> GROUP BY customer_id, item
4> \bcp -S SYB_DSS shipping.dbo.order_summary

Starting...
Batch successfully bulk-copied to SQL Server
Batch successfully bulk-copied to SQL Server
Batch successfully bulk-copied to SQL Server
...

Большое спасибо за ответ. Я не ожидал, что в ASE BCP нельзя запрос выгрузить. В MSSQL ещё в 7й версии можно было.

Отдельное спасибо за альтернативное решение.
...
Рейтинг: 0 / 0
16.01.2008, 12:29
    #35065039
_Drive_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
Почему нельзя ... мона!!!
Create view V_MY_SELECT as select ..... from ...where
...
bcp mydatabase..V_MY_SELECT out V_MY_SELECT.txt -S%SERVER% -U%UID% -P%PWD% -c
...
Рейтинг: 0 / 0
16.01.2008, 15:02
    #35065670
Vitafresh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
_Drive_, внимательней:
Kruможно ли в ASE 12.5.x выгрузить результат запроса.
Именно запроса и не вьюхи .
...
Рейтинг: 0 / 0
16.01.2008, 22:05
    #35066836
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
Kru wrote:
> Господа подскажите пожалуйста,
> можно ли в ASE 12.5.x выгрузить результат запроса.
> Именно запроса и не вьюхи.

Нет. Именно создаешь из запроса VIEW и из него фетчишь.
Или - SQSH, как уже сказали.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
17.01.2008, 00:21
    #35066931
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
А еще можно поставить клиентскую часть от 15-ой и воспользоваться всей мощью dbisql. Он на уровне запросов как раз и делает выгрузку. Да еще и не только в tsv формат а и еще в полдюжины разных включая dbf и xls.
...
Рейтинг: 0 / 0
17.01.2008, 07:09
    #35067029
golsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
Выгрузку результатов запроса \ скрипта в текстовый файл можно сделать стандартной утилитой ISQL:
Код: plaintext
isql -b -S <server> -U <user> -P <pssword> -i <SQL_FILE> -o <LOG_FILE>
В <LOG_FILE> будут результаты всех select'ов.
...
Рейтинг: 0 / 0
18.01.2008, 00:17
    #35070026
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
golsaВыгрузку результатов запроса \ скрипта в текстовый файл можно сделать стандартной утилитой ISQL:
Код: plaintext
isql -b -S <server> -U <user> -P <pssword> -i <SQL_FILE> -o <LOG_FILE>
В <LOG_FILE> будут результаты всех select'ов.


В этот раз я Артизаном всё выгрузил.

Но хотелось бы знать как средствами Sybase обходиться. Артизана и SQSH может и не быть.

Вариант с isql больше всего подходит.

Всем большое Спасибо
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
28.01.2011, 16:45
    #37084887
golol_ol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
Kru,
Добрый день, господа.

Выполнил командную строку:

isql -b -S DBSERVER -U sa -P mypw -i d:\s.sql -o d:\l.txt

В результате получил файл d:\l.txt - пустой!!
Может быть где-то промах?
...
Рейтинг: 0 / 0
28.01.2011, 16:47
    #37084897
golol_ol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
Забыл, содержимое файла d:\s.sql - select * from my_table
...
Рейтинг: 0 / 0
28.01.2011, 16:58
    #37084931
blzz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
golol_olЗабыл, содержимое файла d:\s.sql - select * from my_table
наверное забыл терминатор. добавь go в конце.
Код: plaintext
1.
select * from my_table
go
...
Рейтинг: 0 / 0
28.01.2011, 17:06
    #37084960
golol_ol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
Большое спасибо!!!
Действительно, как же без go?
...
Рейтинг: 0 / 0
02.02.2011, 18:36
    #37093853
golol_ol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
И ещё...


Операционная система: Windows 2000 sp4.
База данных: Sybase 12.5.
ОДБС.Drivers: Sybase ASE ODBC Driver 3.70.00.20 Sybase,Inc. SYODASE.DLL 19.10.2005

Выполняется командная строка:
isql -b -S DBSERVER -U sa -P mypw -i d:\ol\s.sql -o d:\ol\l.txt

Результат запроса в файл d:\ol\l.txt

1437799 1153724 980 240010001 0.00
20010306 0 20110131
2941759 1153724 840 240010001 0.00
20020701 0 20110131

(2 rows affected)
(return status = 0)

На самом деле в результате должно быть две записи, но при выводе информации после суммы 0.00
следуют три символа 0D 0A 09
0D 0A - это конец строки
09 - это табуляция

Как избавиться от этого?
Хотелось бы видеть результат, таким:

1437799 1153724 980 240010001 0.00 20010306 0 20110131
2941759 1153724 840 240010001 0.00 20020701 0 20110131

(2 rows affected)
(return status = 0)
...
Рейтинг: 0 / 0
02.02.2011, 21:20
    #37094045
сур0k
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
golol_olИ ещё...


Операционная система: Windows 2000 sp4.
База данных: Sybase 12.5.
ОДБС.Drivers: Sybase ASE ODBC Driver 3.70.00.20 Sybase,Inc. SYODASE.DLL 19.10.2005

Выполняется командная строка:
isql -b -S DBSERVER -U sa -P mypw -i d:\ol\s.sql -o d:\ol\l.txt

Результат запроса в файл d:\ol\l.txt

1437799 1153724 980 240010001 0.00
20010306 0 20110131
2941759 1153724 840 240010001 0.00
20020701 0 20110131

(2 rows affected)
(return status = 0)

На самом деле в результате должно быть две записи, но при выводе информации после суммы 0.00
следуют три символа 0D 0A 09
0D 0A - это конец строки
09 - это табуляция

Как избавиться от этого?
Хотелось бы видеть результат, таким:

1437799 1153724 980 240010001 0.00 20010306 0 20110131
2941759 1153724 840 240010001 0.00 20020701 0 20110131

(2 rows affected)
(return status = 0)
ключ isql -w, например

isql -b -S DBSERVER -U sa -P mypw -w 8000 -i d:\ol\s.sql -o d:\ol\l.txt

а чтобы избавиться от (2 rows affected) -
set nocount on

(return status = 0) - можно отрегулировать кажется с помощью -m
...
Рейтинг: 0 / 0
03.02.2011, 09:36
    #37094571
SAV4SAV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
golol_olИ ещё...
ОДБС.Drivers: Sybase ASE ODBC Driver 3.70.00.20 Sybase,Inc. SYODASE.DLL 19.10.2005


И ещё, ОДБС к isql никакого отношения не имеет.
...
Рейтинг: 0 / 0
03.02.2011, 13:07
    #37095164
golol_ol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
сур0k
(return status = 0) - можно отрегулировать кажется с помощью -m

Господа, всем большое спасибо.
Получилось всё.
Только не могу убрать (return status = 0).
Но это уже и не так важно.
...
Рейтинг: 0 / 0
03.02.2011, 14:07
    #37095343
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
golol_olТолько не могу убрать (return status = 0).


варианты :
Код: plaintext
1.
bcp ..... > nul

Код: plaintext
1.
bcp ... | find /v "return status"
...
Рейтинг: 0 / 0
03.02.2011, 14:11
    #37095364
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BCP запроса ASE 12.5.x
On 03.02.2011 13:07, golol_ol wrote:

> Господа, всем большое спасибо.
> Получилось всё.
> Только не могу убрать (return status = 0).

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


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