콘텐츠로 이동

개인별 iSQL 환경 설정

개인별 iSQL 환경 설정#

iSQL 사용자들은 특별한 방법으로 iSQL 환경을 설정하고 각 세션에서 그러한 설정을 다시 사용할 수 있다. 예를 들어, OS 파일을 통하여 질의 결과마다 현재 시간을 출력할 수 있도록 사용자가 원하는 출력 서식 형태로 만들 수 있다. 이러한 파일은 다음과 같이 두 가지로 나눌 수 있다.

glogin.sql#

iSQL 시작 시의 초기화 작업을 위하여 DB 관리자에 의해 생성된 전역 스크립트 파일인 glogin.sql의 사용을 지원한다. iSQL은 임의의 사용자가 iSQL을 기동할 때 마다 이 스크립트를 실행한다. 전역 파일은 DB 관리자가 모든 사용자들에게 특별한 사이트에서 iSQL 환경을 설정할 수 있도록 한다. 전역 스크립트 파일은 $ALTIBASE_HOME/conf 밑에 위치한다.

login.sql#

iSQL은 또한 glogin.sql 후에 실행되는 login.sql 파일도 지원한다. 만약, glogin.sql 파일과 login.sql 파일이 모두 존재하는 경우 iSQL 구동 시 glogin.sql이 실행된 후 login.sql이 실행되므로 login.sql에 있는 명령어들로 우선수행 (override) 된다.

하나의 유닉스 계정을 여러 명이 사용할 경우에는 glogin.sql 파일을 개인적인 용도로 수정하는 것이 불가능할 수도 있다. 이런 경우 일반 사용자는 SQL 명령어들, 저장 프로시저, 또는 iSQL 명령어들을 각자의 개인용 작업 디렉터리 내의 login.sql 파일에 첨가할 수 있다. 사용자가 iSQL을 구동할 때, iSQL은 자동적으로 현재 디렉토리에서 login.sql 파일을 찾고, 그 안에 명령어들을 수행한다.

login.sql 파일은 iSQL 초기 설정이나 각각의 세션에 대한 동작을 조정할 수 없다.

LOGIN 파일 변경#

사용자는 임의의 다른 스크립트들처럼 LOGIN 파일을 변경할 수 있다. 다음은 임의의 사용자(user1)가 autocommit mode를 off로 변경하고 SQL 문들을 실행하기 위하여 LOGIN 파일을 작성한 예이다.

$ vi glogin.sql
AUTOCOMMIT ON
SET HEADING OFF
SELECT sysdate FROM dual;
$ vi login.sql
AUTOCOMMIT OFF;
SET HEADING ON
DROP TABLE savept;
CREATE TABLE savept(num INTEGER);
INSERT INTO savept VALUES(1);
SAVEPOINT sp1;
INSERT INTO savept VALUES(2);
SELECT * FROM savept;
ROLLBACK TO SAVEPOINT sp1;
SELECT * FROM savept;
COMMIT;
$ isql
-------------------------------------------------------
     Altibase Client Query utility.
     Release Version 7.3.0.0.1
     Copyright 2000, Altibase Corporation or its subsidiaries.
     All Rights Reserved.
-------------------------------------------------------
Write Server Name (default:127.0.0.1) :
Write UserID : user1
Write Password :
ISQL_CONNECTION = TCP, SERVER = 127.0.0.1, PORT_NO = 20300
Set autocommit on success.              -- 먼저 glogin.sql을 실행

28-DEC-2004                             -- heading off
1 row selected.
Set autocommit off success.             -- glogin.sql이 실행된 후 사용자의 현재 작업 디렉터리에서 login.sql을 실행
Drop success.
Create success.
1 row inserted.
Savepoint success.                      -- autocommit mode off 에서만 실행 가능
1 row inserted.
SAVEPT.NUM                              -- heading on
--------------
1           
2           
2 rows selected.
Rollback success.
SAVEPT.NUM  
--------------
1           
1 row selected.
Commit success.

주의 사항#

LOGIN 파일에는 보안상의 이유로 사용자 이름과 비밀번호를 함께 입력하는 CONNECT 명령어를 사용할 수 없다. 만약 LOGIN 파일에 CONNECT 명령어가 포함된 경우 아래의 경고 메시지를 출력하고 해당 명령어는 실행되지 않는다.

WARNING: CONNECT command in glogin.sql file ignored