powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORACL DSAL DEVELOPER spool выгрузка
4 сообщений из 4, страница 1 из 1
ORACL DSAL DEVELOPER spool выгрузка
    #39960203
orenyastreb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Проблема с выгрузкой в файл через sql.exe. Как указать верную кодировку?
У меня на компе установлен(Win 10 ) ORACL DSAL DEVELOPER 19.1.0
Если делать экспорт результата запроса через приложение в Excel файл то проблем с кодировкой нет

Но мне нужно организовать выгрузку посредством bat файла
Создал bat файл
chcp 1251 >nul
set NLS_LANG=RUSSIAN_RUSSIA.CL8MSWIN1251
d:
cd D:\sqldeveloper\sqldeveloper\bin
D:\sqldeveloper\sqldeveloper\bin\sql ELP/ELP@ob01-or/or0101 "@\D:\Мои макросы\выгрузка\2.sql"
Copy D:\V2.xls "D:\Мои макросы\выгрузка"
Pause

Создал файл запроса
spool D:\V2.xls
SELECT /*fixed*/ m.SK_1 "NSK" FROM merop
;
exit

Файл V2.xls формируется но русские буквы в нем не читаемые)

Пробовал в bat файле устанавливать переменную и пробовал без нее
set NLS_LANG=RUSSIAN_RUSSIA.RU8PC866
также пробовал так, вместо NLS_LANG писать просто LANG. На Файл V2.xls это никак не влияло, так же русских буквы нечитаемы

В реестре править прав у меня нет

Сделал запрос по параметрам сервера
PARAMETER VALUE
NLS_LANGUAGE RUSSIAN
NLS_TERRITORY RUSSIA
NLS_CURRENCY ?.
NLS_ISO_CURRENCY RUSSIA
NLS_NUMERIC_CHARACTERS ,
NLS_CHARACTERSET CL8MSWIN1251
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD.MM.RR
NLS_DATE_LANGUAGE RUSSIAN
NLS_SORT RUSSIAN
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD.MM.RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD.MM.RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY ?.
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 11.2.0.4.0
...
Рейтинг: 0 / 0
ORACL DSAL DEVELOPER spool выгрузка
    #39960210
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOWTO :: Как правильно задавать вопросы
Как мне оформить свое сообщение?

ТЭГи используйте

Для начала, что значит нечитаемые?
Нечитаемые чем? как проверяли?

Покажите кусочек файла

p.s.
sql.exe - это java приложение, работает в utf8
Можно переключить его на cp1251, но проще использовать sqlplus из поставки клиента oracle

instance client + sqlplus
...
Рейтинг: 0 / 0
ORACL DSAL DEVELOPER spool выгрузка
    #39960250
orenyastreb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,

вот пожалуйста. если сделать в Excel вкладка "Данные"-Подключение внешних данных- Из текста и выбрать этот файл, то Excel определяет кодировку как UTF8
...
Рейтинг: 0 / 0
ORACL DSAL DEVELOPER spool выгрузка
    #39960266
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orenyastreb,

А чем не устраивает UTF8?
Как вариант, можно сформировать XML, он формируется с указанием characterset

Oracle® SQL Developer Command-Line Quick Reference

Дока...
SET SQLFORMATSET SQLFORMAT {csv | html | xml | json | ansiconsole | insert | loader | fixed | default}
...


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
set sqlformat xml
spool out.xml
select * from all_tables;
spool off
host head out.xml
 <?xml version='1.0' encoding='UTF-8' ?>
<RESULTS>
	<ROW>
		<COLUMN NAME="OWNER"><![CDATA[SYS]]></COLUMN>
		<COLUMN NAME="TABLE_NAME"><![CDATA[DUAL]]></COLUMN>
		<COLUMN NAME="TABLESPACE_NAME"><![CDATA[SYSTEM]]></COLUMN>
		<COLUMN NAME="CLUSTER_NAME"><![CDATA[]]></COLUMN>
		<COLUMN NAME="IOT_NAME"><![CDATA[]]></COLUMN>
		<COLUMN NAME="STATUS"><![CDATA[VALID]]></COLUMN>
		<COLUMN NAME="PCT_FREE"><![CDATA[10]]></COLUMN>
...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORACL DSAL DEVELOPER spool выгрузка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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