반응형
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- EnvSub
- autohotkey
- if
- DetectHiddenWindows
- IfInString
- if(식)
- ControlGetText
- SetTitleMatchMode
- ControlSend
- 함수
- StringGetPos
- EnvAdd
- 식의 설명
- Menu
- SetControlDelay
- 배열
- IF (식)
- API
- Var:=식
- EnvSet
- EnvDiv
- IfWinExist
- SetEnv
- Threads
- 식
- MouseClick
- Blocks
- SetKeyDelay
- SetMouseDelay
- EnvMult
Archives
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
NSIS 에서 SQL Server Script 실행 방법 본문
반응형
NSIS (Nullsoft Scriptable Install System) 에서 SQL Server Script 를 실행하는 방법이다. 사실 방법이라기보단 1원짜리 팁 정도일까?
SQL Script 를 실행할 수 있는 MSSQL OLEDB plug-in 이라는 플러그인이 있긴 하다. 하지만, 수십 수백 개의 프로시저 또는 사용자 정의 함수들은 실행할 수는 없다.컴파일 자체가 안 되는 버그까지 생기는 걸 봐서는 아직 쓸만하다 할 순 없고, 간단한 QUERY 를 날려서 결과를 확인해야 한다거나 하면 쓸만하다 하겠다.
어쨌든 방법은 이렇다.
1) SQL script(xx.sql) 파일을 일반 설치 파일처럼 복사한다.
2) osql.exe을 이용해서 스크립트를 실행한다.
3) 복사된 xx.sql을 삭제한다.
매우 간단히 끝이다. ㅋㅋ
-
; 설치할 디렉토리
-
InstallDir “C:\_Dir_”
-
SetOverwrite on
-
-
; sql script를 설치할 디렉토리에 복사
-
SetOutPath “$INSTDIR”
-
File “C:\xx.sql”
-
; sql script 실행
-
; 2005 \90\, 20000 \80\
-
ReadRegStr $R1 HKLM “SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ClientSetup” “SQLPath”
-
GetTempFileName $R0
-
; 2005: osql.exe, 2000: isql.exe
-
ExecWait ‘"$R1\Binn\osql.exe" -U "sa" -P "pwd" -S "servername" -d dbname -i "$INSTDIR\xx.sql" -o "$R0" -b’
-
-
ClearErrors
-
; this dumps the logfile to the detail window
-
FileOpen $R1 $R0 “r”
-
IfErrors FileOpenFailed
-
MoreMessages:
-
ClearErrors
-
FileRead $R1 $R0
-
IfErrors NoMoreMessages
-
StrCpy $R0 $R0 -2 ; remove newline
-
DetailPrint $R0
-
Goto MoreMessages
-
FileOpenFailed:
-
DetailPrint “Can’t read from $R0″
-
NoMoreMessages:
-
FileClose $R1
-
ClearErrors
-
; sql script 파일 삭제
-
Delete “$INSTDIR\xx.sql”
via Execute SQL Server scripts
이 방법에는 SQL Server 가 설치되 있어야 하는 단점이 있다. 원격 연결 후 SQL script 를 실행하려면 어떻게 해야 할까?
반응형
'프로그래밍 > NSIS' 카테고리의 다른 글
NSIS reference (0) | 2007.11.03 |
---|---|
NsisInstaller (0) | 2007.11.03 |
NSIS_MUI_reference (0) | 2007.11.03 |
nsWeb - NSIS에서 웹 페이지나 HTML 파일을 보여주자 (0) | 2007.11.03 |
[Nsis] Red Crusaders 레이드 팩 (공격대 애드온 모음집 만들기 소스) (0) | 2007.11.03 |
Comments