2016-08-23 4 views
0

물론 이멕스 SQL 모드는 실제로 문제가되지 않습니다. 하지만 제 생각에는 누군가가 해결책을 찾도록 도와 줄 수 있습니다.Emacs SQL 모드에서 db2cmd.exe를 사용하는 언어 유형 (IBM DB2) 설정

내가 이맥스에서 db2cmd.exe을 통해 SQL 모드를 사용하여, 나는 정보 아래 가지고 :

SQL0863W 성공적으로 연결이되었다,하지만 단일 바이트 문자가 사용되어야한다. SQLSTATE = 01539

Windows 환경을 변경하면 다음과 같은 해결책이 있습니다. http://www.ibm.com/developerworks/data/library/techarticle/0209kline/0209kline.html

그러나 이맥스는 올바른 설정이 문제를 삭제할 수 있도록 내가, 내 Windows 7 내가 매일 이맥스를 사용하고 이맥스는 매우 좋은 언어/코딩 시스템을 가지고 아무것도 변경할 수 없습니다.

DB2 호스트 코드 : 1141 독일 유로 내가 여러 번 시도

하지만, 더 이상 생각. 이미 해결책이있는 사람이 있습니까?

+0

이맥스가 그것에 대해 아무 것도 할 수 없다고 생각합니다. 나는 그것을 할 수 있었으면 좋겠지 만 완전히 통제 할 수는 없습니다. db2cmd는 인코딩/변환에 Windows API를 사용하며 시스템에 설치된 언어에서만 작동합니다. –

답변

0

당신은 적절한 코드 페이지에 .emacs 파일에 DB2CODEPAGE 환경 변수를 설정하여이 문제를 해결할 수 있습니다 : 1252

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

코드 페이지가 윈도우 서유럽 라틴어이다; 1208은 UTF-8입니다.

이 변경 사항을 적용하려면 Emacs를 다시 시작해야합니다.

+0

와우, 고마워. 하지만 난 db2cmd.exe와 연결을위한 라이센스가 필요하다고 생각 : SQL1598N 데이터베이스 서버에 연결하려는 시도가 라이센스 정보 때문에 실패했습니다. SQLSTATE = 42968. JDBC가있는 다른 클라이언트가 라이센스를 필요로하지 않는 이유는 무엇입니까? : –

+0

메인 프레임에 연결하는 것처럼 들리지만 CLP를 사용하려면 DB2 Connect 라이센스가 필요합니다 .Java에는이 라이센스가 필요합니다. 그 이유는 z/OS의 DB2에 연결하는 응용 프로그램은 모두 'db2jcc.jar 'CLASSPATH' 파일'file * and *'db2jcc_license_cisuz.jar' 파일 –

+0

동료에게 물었습니다. CLP 라이센스가 없습니다 :-( –