database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 2912 게시물 읽기
No. 2912
DB2(V9.1 fix7), 델파이(V5.0) encrypt 함수 사용법에 관하여
작성자
양진봉(pcqud)
작성일
2009-11-10 15:45
조회수
10,824

현재 제목에서도 밝힌바 있듯이 


델파이 V5.0 버전 으로 개발 사용하던 프로그램을 DB암호화 Function을 이용하여 몇몇 field를 암호화 하여 insert 하고자 합니다.


DB2는 V9.1이구요


ODBC로 연결되어 있습니다.


소스상에서

with Query1 do begin


            Close;


            SQL.Clear;


            SQL.Add('INSERT INTO test(ID, PW);


            SQL.Add('VALUES(:HvID, encrypt(:HvPW))');


           ParamByName( 'HvID'     ).AsString := 'aaaa';

           ParamByName( 'HvPW'     ).AsString := 'abcdef';

          try

                ExecSQL;

            finally

                Close;

            end;

end;



test라는 Table이 있구요

거기는 ID와 PW라는 Field가 있습니다.


PW는 For bit data 형태로 만들어 져 있구요



현재 error로 표시하는 것은 encrypt function 내부에 ':'이넘이 유효하지 않는 매개변수 표시자라고 합니다.


혹시 하여 quiry문 내부에 function을 사용하는 것이 안되는 것인지 확인하기 위하여 encrypt 함수 대신 substr을 사용해 보았지만 똑같은 에러를 보여 줍니다.


sql 내부에 encrypt를 쓰는 것이 아니라 


paramByName.....:=encrypt('....');


이렇게 표현하면 encrypt가 정의되지 않았다는 error 메세지가 컴파일 단계에서 나타납니다.


매개 변수를 사용하지 않고


sql문 자체에 


            SQL.Add('INSERT INTO test(ID, PW);


            SQL.Add('VALUES(:HvID, encrypt('asdf'))');


이렇게 입력하면 암호화되어 table에 저장이 됩니다.


프로그램단에서 바로 위처럼 쓸일은 거의 없구요..


매개변수를 받아 써야 하는데...


쓰는 방법이 잘못되었겠죠,.....(ㅜㅜ)


쓰는 방법을 알려 주세요........

[Top]
No.
제목
작성자
작성일
조회
2932데이터 쿼리좀... [2]
깜찍이
2009-11-26
9442
2920DB2 페이징및 한글검색 관련 질의입니다.
심재훈
2009-11-23
10109
2913db2에서 디비크기(사용량)을 확인할 수있는방법? [1]
라라라
2009-11-16
10487
2912DB2(V9.1 fix7), 델파이(V5.0) encrypt 함수 사용법에 관하여
양진봉
2009-11-10
10824
2911local db directory 변경 관련 질문 [3]
black
2009-11-04
8969
2906round() 질문입니다. [1]
최대호
2009-10-20
10346
2899날짜변환 질문 [1]
simon
2009-09-23
9675
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다