SQL 프로시저와 PHP는 서로 다른 역할을 수행하는 기술이지만 함께 사용할 때 장단점이 있습니다.

장점:
1. **성능 향상**: SQL 프로시저는 데이터베이스에서 실행되므로 데이터베이스 서버에서 로직을 처리하므로써 성능이 향상될 수 있습니다.
2. **보안 강화**: 프로시저를 사용하면 일부 데이터에 대한 직접적인 액세스를 제어할 수 있어 보안을 강화할 수 있습니다.

단점:
1. **유연성 감소**: SQL 프로시저는 데이터베이스에 종속적이기 때문에 코드를 유연하게 변경하기 어려울 수 있습니다.
2. **디버깅 어려움**: SQL 프로시저 내에서 발생한 오류를 추적하고 디버깅하기 어려울 수 있습니다.
3. **포팅 어려움**: 데이터베이스 시스템을 변경하거나 다른 환경으로 이전할 때 프로시저의 이식성이 떨어질 수 있습니다.

백엔드의 장단점:
1. 다양한 웹 프로젝트에서 사용될 수 있으며, 다양한 데이터 소스와 통합이 가능합니다.
2. 일반적으로 디버깅이 쉽고, 오류 메시지가 명확하여 문제를 해결하기 용이합니다.

종합적으로, 프로젝트의 요구 사항과 성능, 유지보수 등을 고려하여 SQL 프로시저와 백엔드 어떻게 조합할지 결정해야 합니다.





DELPHI에서 손쉽게 대다수의 SQL을 컨트롤 할 수 있는 컴포넌트가 무엇이 있을까 조사하다가 동생이 알려준 zeos.





이클립스 플러그인은 어느 정도 편하던데.

어도비 드림위버 컴포넌트, 플래시 컴포넌트 등은 그나마 쉬운 편에 속했다.


컴포넌트 하나 설치 하는데, 리눅스 어플을 수동으로 설치하는 것 마냥 컴포넌트를 컴파일 해주고, 옵션에서 경로를 지정해줘야 한다.


VC는 안해봐서 VC도 이렇게 하는지 궁금하지만, 현재는 DELPHI를 해야 하므로, DELPHI에서 zeos 설치하는데만 집중했다.

구글링을 했지만, 도저히 컴파일 후 어떻게 해야 하는지 모르겠다.


zeos를 이용해서 개발하는 것도 아니라 install하는데에 시간 보내느라 새벽 3시에 잤다.

그렇게 시간이 지났지만, 성공하지 못했다.


다음날 동생한테 물어봤다. (흑흑...)

동생 블로그에 정리 해뒀다고 보고 하라고 했다.

지금까지 봐온 install 방법 좀 가장 이해하기 편했다.

그리고 성공했따.


1. zeos를  down한다.

 - 사운드포지( http://sourceforge.net/projects/zeoslib/files/Zeos%20Database%20Objects/ )에서 다운 받는다.


2. 압축 푼다.


3. 압축 푼 파일과 디렉토리를 C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\lib\에 복사하거나 이 곳에 압축을 푼다. (-> 기본 디렉토리 외 지정 디렉토리에 설치 했다면 설치한 곳의 lib 디렉토리)


4. delphi 를 실행


5. tools 메뉴 - options - envirenment options - delphi options - library - library path에서 package, src 디렉토리를 추가해줍니다.


6. open project 선택 - packages\delphi11\ZeosDbo.groupproj 열어서 Project -> compile all projects 컴파일


7. project manager창에서 ZComponentDesign110.bpl build, install


끝!


참고 했던 동생 블로그






html의 select box 리스트 내용을 mysql에서 가져와서 selected 값도 select와도 불러오면 좀 더 사용자측면에서 편리함을 제공 할 것이라고 봅니다.



예) 한 게시물의 카테고리를 사용자가 A라고 선택하고 작성했다고 가정.
그 후 게시물을 선택해서 수정 할 때는 그 게시물의 카테고리가 A라고 표시되어야 할 것입니다.

현재 게시물 테이블에 있는 카테고리 name과 전체 카테고리 name을 비교해서 같은 것이 있다면 selected를 print해서 이 게시물이 로딩되자마자 A가 선택으로 보입니다.

'tech > PHP' 카테고리의 다른 글

현재 URL 구하기  (0) 2012.06.25
open_basedir restriction in effect  (0) 2012.05.23
Warning: exec() has been disabled for security reasons in ......  (0) 2012.03.22
[PHP] Warning: Cannot modify header information  (0) 2012.03.09
PHP MYSQL DB connect  (0) 2012.02.21

'tech > SQL' 카테고리의 다른 글

sqlite  (0) 2010.11.16
[mysql] 문자 개수 만큼인것 만 보여줘~  (0) 2009.03.03
sql injection 확인  (0) 2009.01.14
mssql에서 8자리 날짜 구하기  (0) 2009.01.07
mysql port change, mysql port 변경  (0) 2008.11.11

DECLARE @T varchar(255), @C varchar(255);
DECLARE Table_Cursor CURSOR FOR
SELECT a.name, b.name
FROM sysobjects a, syscolumns b
WHERE a.id = b.id AND a.xtype = 'u' AND
(b.xtype = 99 OR
b.xtype = 35 OR
b.xtype = 231 OR
b.xtype = 167);
OPEN Table_Cursor;
FETCH NEXT FROM Table_Cursor INTO @T, @C;
WHILE (@@FETCH_STATUS = 0) BEGIN

exec ('select ['+@C+'] from ['+@T+'] where ['+@C+'] like ''%<script%</script>''');
-- print 'select ['+@C+'] from ['+@T+'] where ['+@C+'] like ''%<script%</script>'''

  FETCH NEXT FROM Table_Cursor INTO @T, @C;
END;
CLOSE Table_Cursor;
DEALLOCATE Table_Cursor;



'tech > SQL' 카테고리의 다른 글

sqlite  (0) 2010.11.16
[mysql] 문자 개수 만큼인것 만 보여줘~  (0) 2009.03.03
SQL injection prevent  (0) 2009.01.14
mssql에서 8자리 날짜 구하기  (0) 2009.01.07
mysql port change, mysql port 변경  (0) 2008.11.11

+ Recent posts