настройка типов языка (IBM DB2) с помощью db2cmd.exe в режиме Emacs SQL

Конечно, это не проблема режима Emacs SQL. Но я думаю, кто-то может помочь мне найти решение.

Я использую режим SQL через db2cmd.exe в Emacs, я получил следующую информацию:

SQL0863W Соединение установлено успешно, но следует использовать только однобайтовые символы. SQLSTATE=01539

Вот решение, если я изменю среду Windows. http://www.ibm.com/developerworks/data/library/techarticle/0209kline/0209kline.html

Но я не могу ничего изменить в своей Windows 7. Я использую Emacs каждый день, и у Emacs очень хорошая система языка/кодирования, поэтому Emacs может решить эту проблему с помощью правильной настройки.

Код хоста DB2: 1141 евро Германии

Я пытался много раз, но больше нет идеи. У кого-то уже было решение?


person Felix Liu    schedule 23.08.2016    source источник
comment
Я не думаю, что emacs может что-то с этим поделать. Я бы хотел, чтобы это было возможно, но это полностью выходит из-под его контроля. db2cmd использует Windows API для кодирования/преобразования, и они будут работать только с языками, установленными в вашей системе.   -  person Yuri Steinschreiber    schedule 23.08.2016


Ответы (1)


Вы можете исправить это, установив переменную среды DB2CODEPAGE в файле .emacs на соответствующую кодовую страницу:

;; Set DB2CODEPAGE environment DB2 Command Line Processor (CLP)
;; (DB2 CLP is called by 'sql-db2)
(setenv "DB2CODEPAGE" "1252")

Кодовая страница 1252 — западноевропейская латиница Windows; 1208 — это UTF-8.

Очевидно (возможно), вам нужно перезапустить Emacs, чтобы это изменение вступило в силу.

person Ian Bjorhovde    schedule 23.08.2016
comment
Вау, спасибо. Но я думаю, что мне нужна лицензия для соединения с db2cmd.exe: SQL1598N Попытка соединиться с сервером базы данных не удалась из-за проблемы с лицензированием. SQLSTATE=42968. Почему другому клиенту с JDBC не нужна лицензия? :( - person Felix Liu; 25.08.2016
comment
Похоже, вы подключаетесь к мейнфрейму? Если это так, вам нужна лицензия DB2 Connect для использования CLP. Java также нуждается в этой лицензии, поэтому приложениям, подключающимся к DB2 в z/OS, нужны и файл db2jcc.jar и файл db2jcc_license_cisuz.jar в CLASSPATH. - person Ian Bjorhovde; 25.08.2016
comment
Я спросил своего коллегу, у нас нет лицензии на CLP. :-( - person Felix Liu; 26.08.2016