powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос абсолютного новичка
15 сообщений из 15, страница 1 из 1
Вопрос абсолютного новичка
    #32116003
ggusev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне надо из базы получить данные (например из одной таблицы, название, артикул, цена) и результат записать в файл. Как это можно реализовать?
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116017
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в sqlplus'e:

set head off
set pagesize 99999

spool myfile.txt

select bla, bla, bla
from your_table;

spool off
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116025
ggusev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это понятно
но задача следующая - пришел юзер, запустил файл и получил на диске файл с результатом
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116042
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
помещаем эти команды в файл .sql и пишем батник на запуск

sqlplus @yourfile.sql
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116350
ggusev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это сделал - все работает
вопрос следующий - как управлять кодировкой выходноготфайла и разделителями в нем?
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116374
Delerium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kodirovku nado ustanovitj v registry (jeslji windows) ilji v shell'e na *nix.
Windows: ustanovi HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG ilji HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEn\NLS_LANG registry key.

A razdelitelji pridumaj sam i nado toljko popravitj select. Mozhno tak:

select col1 ||':' col2 ||':' ... colLAST from table ...
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116414
ggusev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот есть такой запрос

set head off
set pagesize 49999
spool myfile.txt
SELECT SMCARD.ARTICLE, SMCARD.NAME FROM SMCARD SMCARD;
spool off
exit


как мне поставть разделители? и куда?
нужно чтобы между полями были, ну например, один пробел
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116418
ora600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
set colsep ' '

Может, в доку все ж заглянем ?
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116419
Um
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты сам свой скрипт запусти, потом открой в текстовом редакторе, авось отпадет вопрос про пробелы
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116593
ggusev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что у меня пробелы были это понятно. Вопрос был в том, что мне между элементами нужен спец разделитель. Много пробелов создает проблему, т.к. этот файл будет обрабатываться другим приложением, которое и будет на пробелы ориентироваться.
Поставлю вопрос по-другому: как убить множество пробелов, но только между значениями (т.к. в самом значении тоже может быть пробел)?
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116609
юный ораклист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select substr(имяполя,1,20) и будет тебя щастье.
А все-таки пора доки читать :-))
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116620
[IPT]-Said
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что, в селекте самом, нельзя спецразделитель поставить?
К примеру так
SELECT SMCARD.ARTICLE, ||'&'||, SMCARD.NAME FROM SMCARD;
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116622
[IPT]-Said
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри с запятыми попутал,
вот так лучше будет :)
SELECT SMCARD.ARTICLE||'&', SMCARD.NAME FROM SMCARD SMCARD;
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116625
Um
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Said, извини, но ты не прав :)) Запятых никаких не надо.

set head off
set pagesize 49999
spool myfile.txt
SELECT SMCARD.ARTICLE || '_' || SMCARD.NAME FROM SMCARD SMCARD;
spool off
exit

И получишь ты в файле myfile.txt кроме всякой лабуды еще и:

SMCARD.ARTICLE_SMCARD.NAME
SMCARD.ARTICLE_SMCARD.NAME
.......
Замени в запросе _ на пробел... и вперед. Но пробел это плохо, выбери для разделителя символ, который не используется в данных в принципе, а то потом при атоматическом разборе проблемы будут "тот" пробел илит не "тот".
...
Рейтинг: 0 / 0
Вопрос абсолютного новичка
    #32116667
ggusev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спсаибо за помощь!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос абсолютного новичка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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