* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
|
Window7 32bit, LinLinux 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linuxux 64bit 등 |
|
[cubrid_rel] 수행 결과CUBRID 11.0 (11.0.2.0291-a507059) (64bit release build for Linux) (Jul 19 2021 17:56:05) |
|
[도움말]-[버전정보] 확인 |
|
java |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
문의사항이 2개 입니다.
1. 아래 처럼 csql에 접속하고 나면 csql.err 이란 파일이 생성됩니다. 오류는 아닌거 같은데 안생기게 할수 있는 방법은 없는건지요?
[cubrid@sigma1 ~]$ rm csql.err
[cubrid@sigma1 ~]$ csql -u dba demodb
CUBRID SQL Interpreter
Type `;help' for help messages.
csql> ;exit
[cubrid@sigma1 ~]$ ls
CUBRID-11.0.2.0291-a507059-Linux.x86_64 __CUBRID-11.0-latest-Linux.x86_64.sh csql.err cubrid java0.log.lck rm_csql.sh
[cubrid@sigma1 ~]$ cat csql.err
Time: 10/14/21 10:38:09.451 - NOTIFICATION *** file /home/jenkins/workspace/cubrid_release_11.0/src/transaction/boot_cl.c, line 1130 CODE = -971, Tran = -1, EID = 1
Program 'csql' (pid 11097) connected to database server 'demodb' on the host 'sigma1' (port 1523).
*** The previous error message is the last one. ***
2. 자바 스토어드 프로시저 생성시
동일한 생성문인데 함수명을 decrypt, encrypd 하면 정상 생성되고 encrypt 명으로 하면 ERROR 가 납니다.
encrypt명만 안되는 이유가 있을가요??
csql> CREATE FUNCTION DECRYPT(plainText VARCHAR, objName VARCHAR) RETURN VARCHAR AS LANGUAGE JAVA
NAME 'com.test.decrypt(java.lang.String, java.lang.String) return java.lang.String';
Execute OK. (0.003595 sec) Committed.
1 command(s) successfully processed.
csql> CREATE FUNCTION ENCRYPT(plainText VARCHAR, objName VARCHAR) RETURN VARCHAR AS LANGUAGE JAVA
NAME 'com.test.encrypt(java.lang.String, java.lang.String) return java.lang.String';
In line 3, column 17,
ERROR: invalid create function
CREATE FUNCTION identifier '(' {sp_param_list} ')' RETURN {data_type|CURSOR} {IS|AS} LANGUAGE JAVA NAME 'STRING'
0 command(s) successfully processed.
csql>
csql> CREATE FUNCTION ENCRYPD(plainText VARCHAR, objName VARCHAR) RETURN VARCHAR IS LANGUAGE JAVA
NAME 'com.test.encrypt(java.lang.String, java.lang.String) return java.lang.String';
Execute OK. (0.005048 sec) Committed.
1 command(s) successfully processed.
csql.err 파일을 생성되지 않게 하는 방법은 없습니다.
2. encrypt keyword는 v11.0 부터 keyword로 사용하고 있어 encrypt로 table, view, function, procedure 등의 명칭으로 사용하시면 syntax 오류가 발생합니다,
keyword를 procedure 명칭으로 사용하시려면 [encrypt] 로 사용하시면 됩니다.