요즘 Jenkins로 다양한 프로젝트를 자동 빌드를 진행하고 있다.

대부분은 SVN 버전관리를 이용해서인지, 사실 큰 어려움 없이 Jenkins 설정을 마칠 수 있었다.
그런데, SVN의 branch 와 merge에 대한 필요가 있어서 작업을 하려다가, 지속적으로 svn 버전간의 문제인지, 아니면 Yona의 문제인지, xml 어쩌고 저쩌고 에러가 나기 시작했다.

결국 포기하고, git으로 전환을 하긴했다.
버전 이력은 날라갔지만, Yona에서는 svn -> git이 매우 무난하게 진행이되었고, Visual Stuiod 내에도 정상적으로 연결할 수 있었다.

그런데 똭... Jenkins에서 정상적으로 소스를 다운받지 못하고 hang이 걸린 상태로 멍....


왜 이런가 하면서 이런 저런 참고 글들을 보고 뒤적였는데, 대부분의 경우는 git 을 통해서 jenkins로는 큰 이상 없이 잘 된다고 한다. 그런데, 딱하나.. git에 암호가 걸려서 소스 접근시 계정정보를 물어볼 때 이런 현상이 걸리는 것 같다.

동작 로그를 가만히 보니 아래와 같았다.

 git --version # timeout=10
using GIT_ASKPASS to set credentials user-up

GIT에 암호가 걸려서 그런거 같다.

내 빌드 서버는 Visual Studio로 빌드를 해야 되기 때문에, 안타깝게도 Linux로 구성된 것은 아니기 때문에, git을 윈도우 버전으로 설치해 놓은 상태이다.

그러니 당연히 git-Windows x64용이 설치되어 있고, 아무 생각없이 쭉 그대로 설치했었다.

그런데, 이게 걸림돌인듯...

Jenkins 플러그인인 git 은 자체적으로 credential을 이용하는데, git 프로그램에서 자체적으로 가진 credential  프로그램으로 인증하라고 뜬다. ( 마치 NTLM 아이디, 패스워드 묻는 창 )

이거 때문에 행이 걸리는 것이였다.


해결하는 방법은 간단하다.

일단 git 창을 연다. (대개 도스창)

그리고 다음 명령을 하나씩 넣는다.

git config --global --unset credential.helper
git config --system --unset credential.helper


아마 전체, 시스템 설정이므로, 아무데서나 실행하면 된다.

위와 같이 넣자~ 자동으로 쭈루루룩....

여튼 jenkins와 git은 아직 나에겐 미스터리 투성이다.







728x90

C#에서 TextBox에 log4net을 띄우기 위한 방법.

TextBox가 위치한 Form의 생성자 안에서 TextBoxAppender.SetupTextBoxAppend 를 호출하면 된다.
인자값으로는 Textbox 인스턴스와 PatternLayout에 넣는 PatternFormat 문자열만 넣으면 된다.


TextBoxAppender.SetupTextBoxAppend(txtLogs, "%date{HH:mm:ss,fff} %-5level %-33logger - %message%newline");
namespace Logger
{
    public class TextBoxAppender : AppenderSkeleton
    {
        static public void SetupTextBoxAppend(TextBox textbox, string sLayerFormat)
        {
            TextBoxAppender textBoxAppender = new TextBoxAppender();
            textBoxAppender.AppenderTextBox = textbox;
            textBoxAppender.Threshold = log4net.Core.Level.All;
            ILayout layout = null;
            if (string.IsNullOrEmpty(sLayerFormat))
            {
                layout = new log4net.Layout.SimpleLayout();
            }
            else
            {
                PatternLayout layoutPattern = new PatternLayout(sLayerFormat);
                layout = layoutPattern;                                
            }            
            textBoxAppender.Layout = layout;
            textBoxAppender.Name = string.Format("TextBoxAppender_{0}", textbox.Name);            
            textBoxAppender.ActivateOptions();
            Hierarchy h = (Hierarchy)log4net.LogManager.GetRepository();
            h.Root.AddAppender(textBoxAppender);
        }


        private TextBox _textBox;
        public TextBox AppenderTextBox
        {
            get
            {
                return _textBox;
            }
            set
            {
                _textBox = value;
            }
        }

        override protected bool RequiresLayout
        {
            get { return true; }
        }

        protected override void Append(log4net.Core.LoggingEvent loggingEvent)
        {
            if (_textBox == null)
                return;
            try
            {             
                string sMessage  = base.RenderLoggingEvent(loggingEvent);
                _textBox.BeginInvoke(new WriteMessageHandler(WriteMessage), sMessage);
            }
            catch
            {

            }
        }

        private delegate void WriteMessageHandler(string sMessage);

        private void WriteMessage(string sMessage)
        {
                _textBox.AppendText(sMessage);                
                _textBox.Select(_textBox.TextLength - 1, 0);
                _textBox.ScrollToCaret();
        }
    }
}


728x90

Visual Studio Code라는 솔루션을 MS에서 출시했었다.
출시 당시만 해도 주변 및 해외에서는 놀라운 솔루션이라고 했고, 많은 극찬을 받았다.
하지만, 달랑 뜨는 검은 바탕화면에 Text Editor 같은 프로그램이 떠서 많이 황당했던 기억이였다.
게다가 많은 기능을 완전히 숨긴 형태여서 어디에 무슨 기능이 있는지 확인하는 것도 무척 어려웠다.
그리고 잊혀졌다.

그러다가, PHP 관련해서 몇가지 작업할게 있어서 마땅한 에디터를 찾지 못하고 있었다.
한동안은 Editplus을 이용해서 작업을 했지만, MAC 환경에서 하려다 보니 Editplus를 쓸 수가 없었다.
그래서 잠시 유료 솔루션에 대해서 이런저런 뒤적 뒤적 했지만, 결국 독립적인 프로그램들을 연계해서 쓰는 방법이 유일했다.

그러다가 문득 Visual Studio Code라는 솔루션이 생각이 났다.
이 솔루션이 참으로 좋은것이 Windows용 뿐만 아니라, MAC 또는 Linux용 모든 OS에 아키텍처를 지원했다.
그래서 이거다 싶었고, 하나씩 기능을 탐색해보자, 생각보다 좋은 기능들이 많았다.
이 솔루션의 시작과 끝은 플러그인으로 제공되며, 플러그인을 이용하여 IDE를 구성하여 사용할 수 있게 한다.

지금 부터 아주 라이트한 PHP 개발 형태
- 직접 FTP에다 코드를 쓰는 형태 / 디버그는 웹브라우저? -를 위한 환경을 구축하는 방법을 제시한다.

Visual Studio Code 다운로드 그리고 설치.
Visual Studio Code 사이트에 접속한다. https://code.visualstudio.com/
해당 사이트에 가면 현재 플랫폼에 대해 다운로드 할 수 있다.


Windows용은 Installer 지원되는 exe 파일이고, MAC은 zip으로된 압축 파일을 다운로드 된다.

Windows에서는 그냥 실행해서 설치 마법사의 내용에 따라 진행하면 된다.
MAC의 경우에는 압축을 해제한 뒤, 압축 해제된 프로그램 파일을 Application 폴더에 옮기면 된다.
Linux용은 아직 설치해보지 않아서 잘 모르겠다.

설치는 이게 전부다. 끝이다. 

이제 그냥 프로그램을 실행한다.


FTP 플러그 인 설치.
앞서 설명했듯이 서버에 FTP로 접속해서 소스를 직접 수정하는 스타일의 환경을 구축하려 한다.
이를 위해서는 이 Visual Studio Code(이하 VSC) 에 이와 같은 기능을 갖는 FTP 플러그인을 설치해야 한다.
일단 VSC를 먼저 실행한다.
그리고 왼편의 메뉴에서 맨 아래 아이콘을 클릭한다

검색 창에 @sortinstalls 라고 적힌 부분에 ftp라고 입력하면 아래와 같이 ftp 관련 플러그인이 나열된다.

대략 3가지 정도의 플러그인이 나오는데 그 중 ftp-simple을 설치한다.
플러그인이 설치되면 원래는 바로 뜨는 것 같은데, 이 플러그인은 활성화 시키려면 VSC를 재시작하는 것이 좋다.


FTP 설정하기
사실 이 부분부터 막혔었다. 대체 메뉴가 어디 있는지...
하지만, ftp-simple의 Details 내용을 읽어보다가 생각을 바꾸니 이게 생각보다 간편한 환경임을 알 수 있게 되었다. 모든 메뉴는 Context Memu 같은 구성이 아니라, 마치 Command Line 창(도스창)과 같은 명령어 체계로 접근하게 되어 있었다.
F1을 누르면 명령줄이 나오는데, 그안에 ftp 라고 입력을 하면 아래 화면 처럼 관련된 명령들이 표시된다.
이 중, ftp-simple : Config - FTP Connection setting 을 선택한다. (마우스 혹은 커서키)

그러면 설정 파일 정보를 입력하는 화면이 나온다.
각각 아래와 같이 채우도록 한다.
  1. name : FTP 연결 정보를 제시하기 위한 이름
  2. host : FTP 연결을 하기 위한 IP 혹은 도메인 주소
  3. port : 포트 번호
  4. type : FTP 연결 타입. 일반 연결은 ftp, SSH는 sftp 
  5. username: 아이디
  6. password : 아이디에 해당하는 암호
  7. path : 루트 경로를 기준으로 최초로 연결될 때 원격 경로 ( 리눅스 서버의 경우 대개 /home/xxxxx/www 이런 식으로 되어 있다. )
  8. autosave : VSC에서 파일을 저장하면 자동으로 업로드 하는 기능. 만일 false로 하면 다른 FTP 프로그램을 사용하는 것과 별반 다르지 않음.
  9. confirm : 저장할 때, 확인 창이 뜰 지 여부.

모두 입력이 완료되었으면 저장을 한다. (저장은 Ctrl + S / Command Key + S 를 입력하면 된다. )

만일 여러개의 Server 정보가 있다면 다음과 같이 {} , {} 형식으로 Json 포멧에 맞게 추가하면 된다.



서버 열기.
사실 VSC에서는 서버를 연다는 기능이 자체적으로 있지 않지만, 이 플러그인을 이용하면 로컬 파일을 연결하듯 처리할 수 있게 된다.다시 F1을 눌러 ftp 항목들을 띄운 뒤, ftp-simple : remote directory open to workspace 를 선택한다.

그러면 앞서 저장한 설정의 이름들의 목록이 뜨는데 그 중 하나를 선택하면 된다.

정상적으로 연결되면, 원격 경로가 표시된다. 
원하는 경로에서 ". Current directory : xxxx " 를 선택한다. 아니면 원하는 경로가 나올때 까지 다른 디렉토리를 선택해서 이동하면 된다.

그러면 VSC가 다시 로딩되면서 아래와 같이 탐색기가 표시된다.

이제 편집을 원하는 파일을 선택하면 편집 창이 뜨고, 작업을 수행하면 된다.
작업한 뒤, Ctrl + S를 누르면 바로 서버에 적용된다.


즐거운 프로그래밍!!!

728x90

    현재 만들고자 하는 공유 방식은 별도 로그인 없이 모든 사용자가 읽기는 가능하고,

    특정 계정의 사용자에게 쓰기 기능을 제공하는 것으로 전해 들었습니다.

    이 방식을 하기 위해서는 먼저 접근할 사용자 정보가 먼저 필요합니다.

     

    접근 제어를 하기 위한 사용자 계정 만들기

     

    1. 먼저 제어판을 엽니다

  



    1. 사용자 및 계정을 엽니다.


     

    1. 사용자 계정을 엽니다.


     

    1. 다른 사용자 계정 관리에 들어갑니다.


     

    1. 계정관리 창에서 "새 계정 만들기"를 선택합니다.


     

    1. 계정생성 화면에서 접속용 계정 아이디를 만들고 "계정 추가" 버튼을 클릭합니다.


     

    1. 그러면 만들어진 계정을 볼 수 있는데, 해당 계정을 클릭합니다.


     

    1. 암호생성을 클릭합니다.


     

    1. 암호생성 창에 적당한 암호를 입력하고, 암호 힌트에는 대충 아무 값이나 채우세요.(없으면 안되는데 별도로 사용되는데는 없습니다. )


     

    1. 다른 사용자가 더 있으면 5번 단계 부터 반복하면 됩니다.

     

     

    PC 공유 정책 변경

    이제 컴퓨터에서 특별히 ID/Password 입력하지 않고도 접근이 가능하게 만들어야 합니다. 이를 위해서는 설정을 변경해야 합니다.

     

    1. 제어판을 엽니다.
      그리고 네트워크 및 인터넷을 선택합니다.


     

    1. 그리고 난 뒤, 네트워크 및 공유 센터를 선택합니다


     

    1. 왼편에 보이는 "고급 공유 설정 변경"을 선택합니다.


     

    1. 고급 공유 설정 변경을 보시게 되면, "홈 또는 업무""공공장소"가 보이는데, 각각 버튼을 누르면 자세한 설정이 가능한 창이 펼쳐집니다. 이 두가지 모두 같은 내용인데, 모두 동일한 설정으로 만들어주세요.


    1. 여기서는 "홈 또는 업무" 화면을 기준으로 설명을 드리겠습니다.(똑같은 설정으로 "공공장소"에도 설정해주시기 바랍니다.) "홈 또는 업무"의 펼침 버튼을 누르면 상세한 설정 화면이 나옵니다.


     

    1. 위의 설정이 모두 완료되면 "변경 저장" 버튼을 눌러 저장합니다.

     

     

    공유 폴더 만들기

    자신의 HDD의 특정 위치에 폴더를 만들고 공유폴더로 설정합니다.

     

    적당한 위치에 폴더를 하나 만듭니다.



    (여기서는 SharedFolder라고 만들겠습니다.)

     

    만들어진 폴더 위에서 오른쪽 버튼을 클릭해서 나오는 메뉴의 "공유대상"을 선택 한 뒤, "특정 사용자"를 선택합니다.

     

    사용자 추가 화면에서 선택 상자에서 먼저 앞서 만든 계정을 추가합니다.(여기서는 user1). 추가할 때, 읽기/쓰기 권한을 주도록 합니다.



     

    더 많은 사람이 있으면 이 단계를 반복해서 사용자들을 추가합니다.

     

    사용자 추가가 완료되었으면 다시 선택 상자를 눌러 이번에는 "Everyone"을 선택하여 추가합니다. 단 이 사용자는 "읽기" 상태로만 두어야 합니다. ( 읽기 쓰기가 되면 외부 사람들이 쓰기도 됩니다.)


     

    모든 사용자가 추가되었으면 맨 아래에 위치한 "공유" 버튼을 클릭합니다.


     

     

    공유 폴더 정보 전달

    이제 현재 컴퓨터의 IP 주소나 컴퓨터 이름을 알려주도록 합니다.

     

    1. IP 주소는 제어판 -> 네트워크 및 인터넷 -> 네트워크 및 공유센터에서 자신의 네트워크  연결 부분에서 확인이 가능합니다. 자신의 연결 매체를 부분("로컬 영역 연결" 또는 "무선네트워크 연결(XXXX) 라고 되어 있는 부분)을 클릭합니다.


     

    1. 해당 연결 상태 창이 뜨면 "자세히" 버튼을 클릭합니다.


     

    1. 많은 내용 중 IP4 주소 부분의 항목이 IP 주소 입니다. 이 주소 값을 기억해주세요.


     

     

    1. 이제 Windows Explorer(탐색기)를 띄웁니다. 그리고 경로 입력 창에  "\\"를 맨앞에 두고 앞에서 찾아냈던 IP 주소를 뒤에 붙여서 적은 뒤 엔터를 입력합니다.


     

    1. 정상적으로 연결되면 아래와 같이 폴더가 보입니다.



     

    1. 다른 분께 \\ 시작하는 주소 값을 전달해주면 됩니다. (위의 예에선 \\192.168.220.129 )

     

     

    특정 계정으로 들어가기

    일반적으로 읽기전용으로 모든 사람이 들어가집니다. 다만 위와 같이 \\xxx.xxx.xx.xx 와 같은 형식으로 직접 들어가게 되면 무조건 "읽기전용"으로만 접속이 됩니다. 만일 쓰기를 하고자 한다면 다른 방식으로 접속을 해야 합니다.

     

    1. 위의 방식의 5번과 같이 Windows Explorer(탐색기)\\ 시작하는 주소로 접속합니다.


     

    1. 쓰기 처리를 하기 위한 공유 폴더 위에서 마우스 오른쪽 버튼을 누른 뒤, 나오는 메뉴에서 "네트워크 드라이브 연결"을 선택합니다.


     

    1. 네트워크 드라이브 연결 창이 뜨는데, 다른 부분은 그대로 기본 값으로 하시고, 다만, 체크 박스 중 "다른 자격 증명을 사용하여 연결"을 꼭 체크합니다. 체크 되었으면 "마침" 버튼을 클릭합니다.


     

    1. 윈도우 보안 창이 뜨면서 IDPassword를 묻는데, 여기에 앞서 생성한 계정을 입력하시면 됩니다.


     

    1. 다른 분께 이 부분만 전달해주시거나, 설정해주시면 됩니다.


728x90

Windows 10에서는 각종 그림/사진은 Windows App 형식으로 만들어진 사진(Photo) 앱이 실행된다.
해당 앱 자체가 매우 나쁘지는 않아도 그리 편리하지도 않다. 더욱이 네트워크 드라이브에서 열 때 같은 위치에 있는 파일은 열리지 않는 경우를 자주 볼 수 있다. (완전 로컬 용)
image

예전 Windows 7 때 부터 사용한 이미지 뷰어는 이런 제약 없이 최소한 이미지 뷰어로써는 훌륭했었는데,
어느 순간(Windows 8)부터 갑자기 App으로 바뀌어 안타까움이 컸다.
image

그런데 이런 저런 구글링을 해본 결과, 기능 자체가 사라진게 아니라, 등록이 안되어 안 보이는 것이라고 했다.

그리고 해당 기능을 활성화 시키는 레지스트리 소스를 확보하게 되었다.
http://www.howtogeek.com/225844/how-to-make-windows-photo-viewer-your-default-image-viewer-on-windows-10/ 페이지에 위치한 링크로 압축된 파일을 풀어 제공되는 reg 파일을 실행해주면 된다.
 image

레지스트리 소스는 아래와 같다.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll]

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell]

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open]
"MuiVerb"="@photoviewer.dll,-3043"

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
00,31,00,00,00

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\print]

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
00,31,00,00,00

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\print\DropTarget]
"Clsid"="{60fd46de-f830-4894-a628-6fa81bc0190d}" 

위와 같은 내용을 레지스트리에 등록한 뒤에 컴퓨터를 재 시작한다.

그리고 이미지 파일을 열기 전에 Windows Photo Viewer로 기본 실행되게 설정하면 된다.

728x90

간혹 Windows 7 미디어를 보면, 설치 할 때, 어느 제품을 설치하는 것인지 묻는 미디어가 있는가 반면, 설치를 시작하자 마자, Home인지, Professional 인지, Ultimate 인지 결정이 된 미디어가 있다.

그 미디어들이 과연 무슨 차이인가... 가만히 살펴 보니, 아래와 같았다.

 

\sources 폴더 안에 ei.cfg 라는 파일이 있다.

 

이 파일이 있으면 제품이 정해지게 된다.

 

[EditionID]
Ultimate
[Channel]
Retail
[VL]
0

이런식의 파일이 있다면, Retail 제품의 Ultimate 버전임을 알 수 있다.

 

만일 이 파일이 없다면 설치 할 때 어느 버전을 설치할지를 물어보게 된다.

728x90

Remote Console 이란 원격에서 모니터에서 나오는 화면을 보기 위한 콘솔 프로그램이다.

보통은 vCenter 라는 솔루션을 통해서 웹에서 보도록 되어 있었는데, 5.5 버전 이후에는 이 부분이 풀렸다.


지금 ESXi 6.0을 설치해서 이 기능을 사용하려고 하는데, 그 방법을 정리했다.


1. ESXi 서버 구성.

  먼저 VM을 구성한다.


2. VMware vSphere PowerCLI 설치.

 VM 서버 내에서 VM에 대한 MoID가 필요하다. Object에 대한 고유 ID를 알아야 처리하는데, SSH를 통해서 해당 서버에 접속하여 분석해도 되지만, 이 PowerCLI를 사용하면 굳이 SSH로 일일히 뒤지지 않고도 사용이 가능하다.

먼저 VMWare vSheprer PowerCLI 프로그램을 설치한다.


3,  PowerShell 실행.

그리고 PowerShell을 실행한다.

여기서 잠깐 확인해야 하는 것은 PowerShell의 실행 권한을 해제해야 vSphere PowerCLI 기능을 실행할 수 있다.

Set-ExecutionPolicy Unrestricted

라는 명령을 넣어야 사용 가능하다.

이제 다음 명령을 넣어 서버에 연결한다.


Connect-VIServer


그러면 연결할 서버 주소를 묻는데 ESXi 서버 주소를 넣는다. ( 여러개를 넣을 수 있지만, 일단 한개만 넣고 그냥 엔터를 쳐서 종료한다. )

그러면 인증서 관련 Warning이 뜨고 잠시 기다리면, ID와 Password를 입력하는 창이 뜬다. 이 창에 ESXi 에 관리 권한이 있는 계정을 입력한다.

(보통 root )


연결 되었으면 다음과 같은 명령을 입력한다.


Get-VM | ft -Property Name,ID -AutoSize


실행하면 각 VM 이름과 ID가 표시되는데 그 중 ID 부분만 집중한다.


5.5 이하인 경우 ID 전체를 기억하면 되고, 6.0 이상인 경우 맨 뒤의 숫자 부분만 기억하면 된다.


4. VMRC 설치.

VMware-VMRC-8.0.0-3250412 프로그램을 다운 받아 설치한다.


5. VMRC 실행하기.

VMRC를 기본으로 설치하면 "C:\Program Files (x86)\VMware\VMware Remote Console" 위치에 설치되는데, 이 위치의 VMRC.exe를 실행하면 된다. 명령 줄 창을 띄워 다음 명령을 넣는다.


C:\Program Files (x86)\VMware\VMware Remote Console\vmrc.exe vmrc://[서버주소]/?moid=[ID]


[서버주소]에 ESXi 서버 주소를 [ID]는 앞에서 구한 VM 의 ID 값을 넣으면 된다. 예를 들면 아래와 같이 입력하면 된다.


C:\Program Files (x86)\VMware\VMware Remote Console\vmrc.exe vmrc://192.168.0.50/?moid=2



728x90

MS SQL 작업을 하다보면 무척 많은양의 저장프로시저들이 쏟아질 때가 있는데, 문제는 해당 로직을 모두 검색해봐야 할 때가 있다. ( 테이블 의존 관계나, 사용형태라든가...)

그렇다고, 매번 체크하고 싶은 저장프로시저마다 소스를 열어볼 수도 없다.

방법은 간단하다.

   
USE MYDB;
select ROUTINE_NAME, ROUTINE_DEFINITION 
  from information_schema.routines 
 where routine_type = 'PROCEDURE';

위와 같이 하면 전체 목록이 나오는데, 적당한 이름으로 csv로 저장하면,
전체 소스를 Text 파일로 얻어낼 수 있다. USE MYDB 부분에서 MYDB 부분만 자신의 DB 이름을 넣어주면 된다.

728x90

+ Recent posts

728x90