반응형

 

 

테이블 스페이스를 생성하던 도중 오류가 발생했습니다.

 

create tablespace TS_SAMPLE_REPORT
datafile '/data/oradata/COMPANY/TS_SAMPLE_REPORT.dbf'
size 10M
autoextend on next 10M
maxsize 100M
uniform size 10M

 

 

상세 오류의 내용은 아래와 같습니다.

 

명령의 29 행에서 시작하는 중 오류 발생 -
create tablespace TS_SAMPLE_REPORT
datafile '/data/oradata/COMPANY/TS_SAMPLE_REPORT.dbf'
size 10M
autoextend on next 10M
maxsize 100M
uniform size 10M
오류 보고 -
ORA-03214: 지정된 파일 크기가 기본 최소치보다 작습니다
03214. 00000 -  "File Size specified is smaller than minimum required"
*Cause:    File Size specified for add/resize datafile/tempfile does not
           allow for the minimum required of one allocation unit.
*Action:   Increase the specification for file size

 

기본 사이즈를 10MB 로 지정해주었는데

 

uniform size 를 동일하게 10MB 로 지정했기 때문에 발생한 오류입니다.

 

 

uniform size 는 확장되는 사이즈를 지정해주는것인데

 

 

전체 사이즈가 10mb 인데 10mb 씩 늘려가면 바로 용량초과가 발생하기 때문에

 

 

전체 사이즈보다 작게 설정해주어야 합니다.

 

 

전체 사이즈를 10mb 로 지정했다면 1mb 정도로 지정하면 오류가 나지는 않겠네요~

 

 

 

 

반응형
블로그 이미지

나남나여

일상 제품리뷰와 맛집/여행/사진을 좋아하고 IT 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,
반응형

 

 

tomcat 을 사용하면서 위와 같은 오류가 발생한 경우가 발생했습니다.

 

 

 

직역하자면 JDBC 드라이버 클래스 oracle.jdbc.driver.OracleDriver를 로드 할 수 없습니다. 라는 의미입니다.

 

 

환경은 솔루션에서 커스터마이징을 통해서 소스를 추가로 업로드 했는데

 

 

오류가 발생한 케이스였습니다.

 

 

문제를 해결하기 위해 구글링을 해봤더니

 

 

JDBC 오라클 드라이버가 없어서 발생한 오류였습니다.

 

 

JDBC 드라이버를 사용하는 jar 파일을 찾기 위해 오라클 클라이언트를 설치한 곳으로 이동하여

 

 

원하는 jar 파일을 가지고 왔습니다.

 

 

위치 : <%오라클 설치폴더%>\product\11.2.0\client_1\jdbc\lib

 

 

이 위치로 이동하면 ojdbc6.jar 파일이 존재하는데

 

 

사용하기 위한 소스에 라이브러리로 등록해주면 오류 해결.

 

 

솔루션이 정상적으로 구동되기 위해서는 서버를 재시작하는 수고가 더 들어갔습니다.

 

 

사용하는 버전이나 환경에 따라 ojdbc5.jar 파일이나 ojdbc14.jar 파일과 같이

 

 

파일명은 조금씩 다를 수 있으니

 

 

사용하고 있는 버전을 잘 확인 후 정확한 소스 반영하시길 권장드립니다.^^

 

 

해결이 안되면 같이 해결할 수 있게 댓글로 문의 주시면 같이 해결할 수 있는 방법 찾아보도록 할께요

 

 

반응형
블로그 이미지

나남나여

일상 제품리뷰와 맛집/여행/사진을 좋아하고 IT 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,
반응형

엑셀 HLOOKUP 함수, VLOOKUP 함수 예제와 함께 1분만에 마스터

 

 

엑셀을 사용하다보면 HLOOKUP 과 VLOOKUP 함수를 사용하는 일이 많이 있습니다.

 

 

그런데 막상 사용하려다 보면 매일 사용하는 사람이 아닌 이상 계속 찾아보면서 사용하게 되는데요

 

 

VLOOKUP 과 HLOOKUP 안에 들어가면 파라메터 값이 많이 존재하기 때문에

 

 

사람들이 헷갈려 하는 것이 아닌가 싶습니다.

 

 

저도 매번 할 때마다 헷갈리는데 많이 사용하니깐 확실히 정리해두어야겠다고 생각이 들었습니다.

 

 

실무에서 사용하는 데이터를 가지고 한번 만들어보도록 하겠습니다.

 

 

저같은 경우는 재무제표나 포괄손익계산서, 현금흐름표 같은 사업보고서를 정리할 때

 

 

VLOOKUP 함수를 자주 사용하곤 합니다.

 

 

특히 이 3개 회계장표는 매 분기마다 계정과목이 변경되기 때문에 같은

 

 

계정과목을 눈으로 비교하는 것도 참 어렵거든요ㅠㅠ

 

 

그럼 데이터와 함께 예시를 보도록 하겠습니다.

 

 

 

#데이터 예시

 

 

 

 

 

 

요구사항 : 2018년 4분기 좌측으로 2019년 3분기 데이터를 계정에 맞도록 넣으시오.

 

 

위처럼 몇개 되지 않는 데이터는 눈으로 보면서 하나하나 넣을수도 있지만

 

 

데이터가 100건 이상 넘어가게 되면 수작업으로 하기에는 시간도 오래 걸리거니와

 

 

데이터가 잘 맞는지 검증하기도 힘듭니다!!

 

 

VLOOKUP 함수를 사용하여 작업을 완성했는데 함수를 어떻게 사용했는지 확인해보도록 하겠습니다.

 

 

#VLOOKUP 예제

 

 

결과화면을 먼저 보시면 I, J, K 열은 VLOOKUP 함수를 사용하여 생성한 데이터 입니다.

 

 

=VLOOKUP(A2,$F$2:$G$31,1,0)

 

 

으로 함수를 작성했는데 파라메터를 하나하나 살펴보면서 의미를 따져보겠습니다.

 


VLOOKUP ( 찾고 싶은 값

              , 찾을 영역

              , 찾을 영역에서 몇번째 필드의 값을 보여줄 것인가

              , 정확하게 일치하느냐 ( 0 / FALSE ) , 유사하게 일치하느냐 ( 1 / FALSE )

               )

 

요구사항에 맞는 의미를 해석해보면

 

첫번째 파라메터 : 수익(매출액)

두번째 파라메터 : F2 ~ G31 까지의 범위에서 찾은 후

세번째 파라메터 : F열 (1번째 열)

네번째 파라메터 : 정확하게 일치하는 값을 추출해라


 

 

 

 

그렇다면 두번째 열의 값은 어떻게 구할까요

 

 

 

 

=VLOOKUP(A2,$F$2:$G$31,2,0)

 

 

동일하게 작업하되 세번째 파라메터만 변경된 것을 확인할 수 있습니다.

 

 

범위 내에서 첫번째 값이냐 두번째 값이냐마 바꿔주는 쉬운 작업입니다.

 

#활용

 

여기서 중요한 점은 범위는 변하지 않기 때문에 절대값으로 주기 위해 $ 표시를 했다는 점을 기억하셔야 합니다.

 

 

매출액 항목만 찾을 것이 아니라 매출원가나 매출총이익 등 다양한 항목의 값도 찾아야 하기 때문이죠

 

 

위의 장표를 보면 10번째 라인까지는 동일한 항목으로 나오다가

 

 

11번째 라인부터는 서로 계정과목이 다른 것을 볼 수 있습니다.

 

 

하지만 VLOOKUP 함수를 사용한 부분은 A열에 나온 항목과 동일한 계정을 표시하지만

 

 

값은 G열에 나와 있는 값을 추출하게 되지요

 

 

이렇게 된다면 복사 후 값복사를 통하여 B 열에 삽입하게 된다면 정확하게 일치하는 항목에 대해

 

 

2019년 3분기 데이터를 넣을 수 있게 됩니다.

 

 

 

 

 

정확한 값이 붙은 것을 알 수 있습니다

 

 

HLOOKUP 도 마찬가지로 사용할 수 있는데

 

 

데이터가 Vertical 이나 Horizontal이냐만 구분하면 동일하게 사용할 수 있습니다.

 

 

작업하시다가 궁금한 점이나 잘 안되는 부분 있으면 도움 드릴 수 있는 부분은 드리도록 하겠습니다^^

 

 

 

반응형
블로그 이미지

나남나여

일상 제품리뷰와 맛집/여행/사진을 좋아하고 IT 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,
반응형

PPT 간격과 정렬, 리본 등록하기 ( feat. 빠른실행도구모음 )

 

 

PPT 를 작업하다보면 도형들을 정렬해야 할 일들이 상당히 많습니다.

 

 

이걸 하나씩 조정하기 위해서는 마우스 컨트롤이 기가막히가 잘 한다던가

 

 

키보드 방향키를 이용하여 좌측, 우측, 위, 아래 빠르게 움직이면서

 

 

1px 단위까지 맞추기 위해 컨트롤을 클릭한 후 상하좌우를 움직이면서 맞추는 일이 대부분입니다.

 

 

특히, RFP 나 제안서 등 중요문서 같은 경우에는 간격들이나 정렬이 완벽하게 맞아야 하기 때문에

 

 

더욱 공들여서 문서를 만들기도 하지요

 

 

그렇다면 키보드와 마우스로 깔끔하게 정리하면 힘든데 좀 더 쉽게 하는 기능을 사용해보도록 하겠습니다.

 

 

#PPT 간격 조정

 

 

 

일단 위와 같이 도형들을 배치하였습니다.

 

 

왼쪽으로 정렬하기 위해서는 개체를 선택하여 마우스나 방향키를 이용하여 맞췄었는데

 

 

개체 정렬이라는 기능을 이용하면 쉽게 간격 조절을 할 수 있습니다.

 

 

 

마우스를 드래그 하여 개체를 선택 후

 

 

홈 > 정렬 > 맞춤 > 왼쪽맞춤

 

 

왼쪽으로 한치의 오차도 없이 정확하게 정렬된 것을 볼 수 있습니다.

 

 

다음 단계로는 붙어있는 객체들의 세로간격을 동일하게 맞춰보도록 하겠습니다.

 

 

 

 

 

 

홈 > 정렬 > 맞춤 > 세로 간격을 동일하게

 

 

위의 기능을 실행하면 간편하게 간격조절도 할 수 있게 됩니다.

 

 

이제 마우스나 키보드를 이용해서 세밀한 조정을 하는 것은 걱정하지 마세요^^

 

 

그런데!!!!

 

 

문제가 있습니다.

 

 

맞춤이라는 것이 홈 > 정렬 > 맞춤 > 왼쪽 정렬 , 홈 > 정렬 > 맞춤 > 세로 간격을 동일하게

 

 

마우스 클릭을 여러번 해서 들어가야 하는 문제가 있습니다.

 

 

문서 작업을 속도가 생명인데 언제 저렇게 누르고 있나요..

 

 

물론 키보드로 하는 단축키도 있지만 단축키도 한번에 실행되는 것이 아니라

 

 

여러 키보드의 조합으로 실행되는 것은 아시죠

 

 

(저장 단축키처럼 Ctrl + S 키를 눌러서 간편하게 실행할 수 있으면 얼마나 좋을까요ㅠ)

 

 

일반적으로 가장 많이 사용하는 왼쪽 상단에 있는 저장버튼이 있는 것은 아실껍니다.

 

 

그 저장버튼을 클릭하면 것 처럼 단한번의 클릭으로 할 수 있는 방법이 있는데 무엇일까요!

 

 

#리본 등록 ( 빠른 실행 도구 모음 )

 

 

 

 

 

메뉴 > 옵션 > 빠른 실행 도구 모음

 

 

명령 선택에서 홈 탭을 선택하면 정렬과 관련된 기능들이 보이게 됩니다.

 

 

그 항목들을 추가하게 되면 저장 버튼 옆에 줄줄이 생깁니다.

 

 

저의 순서는 개체 왼쪽 맞춤 - 개체 오른쪽 맞춤 - 개체 위쪽 맞춤 - 개체 아래쪽 맞춤을 설정하고

 

 

가로간격 동일하게 - 세로간격 동일하게 순서로 지정을 해놓았습니다.

 

 

( 맨 앞으로 가져오기, 맨 뒤로 보내기는 덤 ^^ )

 

 

 

 

 

리본 메뉴가 줄줄이 생성되는 것을 확인 할 수 있습니다.

 

 

너무 윗쪽에 있어서 마우스 이동하는 비용도 싫다하시는 분은

 

 

리본메뉴를 아래쪽으로 내려서 빠르게 실행할 수 있습니다.

 

 

 

 

짠!

 

 

위에 있던 리본 메뉴가 아래쪽으로 내려온 것을 확인할 수 있습니다.

 

 

이렇게 하면 간격조절과 정렬을 더욱 손쉽게 할 수 있겠네요^^

 

 

파워포인트 2016 버전 기준으로 작성된 것이며

 

 

다른 버전도 큰 틀안에서는 비슷한 내용이 확인해보시고 안되는 부분을

 

 

댓글로 달아주시면 도움드릴수 있는 부분은 드리도록 하겠습니다!!

반응형
블로그 이미지

나남나여

일상 제품리뷰와 맛집/여행/사진을 좋아하고 IT 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,
반응형

오라클 TO_DATE 1분만에 완벽마스터로 변신

 

 

 

 

 

 

 

TO_DATE 기본문법

 

오라클 TO_DATE 함수는 위와 같은 문법으로 사용할 수 있습니다.

 

 

 

SELECT TO_DATE('20200324', 'YYYYMMDDHH24MISS')
  FROM DUAL;

 

결과

 

 

 

 

가장 기본적으로 사용할 수 있는 TO_DATE 문법입니다.

 

1번째 Parameter : char ( vhachar2 ) 값을 입력합니다.

 

2번째 Parameter : 날짜 형식을 지정해줍니다.

 

 

날짜 형식

 

YYYY : 4자리 년도

 

MM : 2자리 월

 

DD : 2자리

 

HH24 : 24시간 단위 시간

 

MI : 분

 

SS : 초

 

 

TO_DATE 형식변경

 

TO_CHAR 함수와 함께 사용한다면 더욱 보기 좋게 만들어줄 수 있습니다.

 

 

SELECT TO_CHAR(TO_DATE('20200324', 'YYYYMMDDHH24MISS'), 'YYYY-MM-DD HH24:MI:SS') AS TO_DATE_형식1
     , TO_CHAR(TO_DATE('20200324', 'YYYYMMDDHH24MISS'), 'YYYY/MM/DD HH24:MI:SS') AS TO_DATE_형식2
     , TO_CHAR(TO_DATE('20200324', 'YYYYMMDDHH24MISS'), 'DD/MM/YYYY HH24:MI:SS') AS TO_DATE_형식3
  FROM DUAL;

 

결과

 

 

 

 

날짜함수 활용

 

TO_DATE 함수를 이용하면 전일, 전월 등 날짜 계산도 할 수 있습니다.

 

 

SELECT TO_DATE('20200324', 'YYYYMMDDHH24MISS')-1  AS "전일"
     , LAST_DAY(TO_DATE('20200324', 'YYYYMMDDHH24MISS')) AS "당월 마지막 일"
     , ADD_MONTHS(TO_DATE('20200324', 'YYYYMMDDHH24MISS'),-1) AS "전월"
     , TO_CHAR(ADD_MONTHS(TO_DATE('20200324', 'YYYYMMDD'),-1), 'YYYYMM')||'01' AS "전월1일"
     , ADD_MONTHS(TO_DATE('20200324', 'YYYYMMDDHH24MISS'),-12) AS "전년"
  FROM DUAL;

 

결과

 

 

 

 

 

이상으로 오라클 TO_DATE 함수에 대해 알아보았습니다.

 

궁금한 부분이 있다면 댓글 달아주세요^^

반응형
블로그 이미지

나남나여

일상 제품리뷰와 맛집/여행/사진을 좋아하고 IT 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,
반응형

CentOS 7 네트워크 설정

 

 

윈도우10을 사용하면서 Hyper-V 를 사용하여 Virtual 환경을 구성하였습니다.

 

 

리눅스 환경을 테스트 하기 위해서 CentOS 7 을 설치 하였는데

 

 

OS 설치는 금방 지나가지만 네트워크 설정을 해야 겠지요

 

 

네트워크 설정도 주요 항목만 잘 확인하면 정상적으로 설정될 수 있습니다.

 

 

1. 위치 이동

 

[root@localhost]# cd /etc/sysconfig/network-scripts
[root@localhost]# ls
ifcfg-eth0  ifdown-Team      ifdown-eth   ifdown-ipv6  ifdown-ppp     ifdown-tunnel  ifup-TeamPort  ifup-eth   ifup-ipv6  ifup-plusb  ifup-routes  ifup-wireless      network-functions-ipv6
ifcfg-lo    ifdown-TeamPort  ifdown-ib    ifdown-isdn  ifdown-routes  ifup           ifup-aliases   ifup-ib    ifup-isdn  ifup-post   ifup-sit     init.ipv6-global
ifdown      ifdown-bnep      ifdown-ippp  ifdown-post  ifdown-sit     ifup-Team      ifup-bnep      ifup-ippp  ifup-plip  ifup-ppp    ifup-tunnel  network-functions
[root@localhost]# vi ifcfg-eth0

 

ifcfg-eth0 파일은 환경마다 다를 수 있으니

ifcfg*** 으로 시작하는 파일을 확인해서 열어보시면 됩니다.

 

 

2. ifcfg-eth0 파일 수정

 

파일을 열어보면 아래의 내용이 조회됩니다.

 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=89f4112e-abdd-asdf-as67-adfasd534g
DEVICE=eth0
ONBOOT=no
IPV6_PRIVACY=no

 

이제 수정해야 할 내용을 정리해보겠습니다.

 

 

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.155
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=162.123.83.1
DNS2=162.123.83.2

 

BOOTPROTO 는 설정값을 none > static 으로 변경

ONBOOT 는 no > yes 로 변경

사용할 네트워크 정보는 IPADDR, NETMASK, GATEWAY, DNS1, DNS2 를 입력합니다.

 

 

입력 결과

 

 

 

 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
#BOOTPROTO=none
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=89f4112e-abdd-asdf-as67-adfasd534g
DEVICE=eth0
#ONBOOT=no
ONBOOT=yes
IPADDR=192.168.1.155
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=162.123.83.1
DNS2=162.123.83.2
IPV6_PRIVACY=no

 

 

ESC 키를 누른 후 wq! 를 입력하여 저장 후 나가도록 합니다.

 

[root@localhost]# service network restart

 

위 명령어를 입력하서 network 서비스를 재시작하도록 합니다.

 

 

 

정상적으로 OK 사인을 받았다면 ping 을 통해서 정상적으로 네트워크가 연결되었는지 확인해보겠습니다.

 

 

저는 내부망에 있는 다른 서버를 접속해보도록 하겠습니다.

 

 

 

 

정상적으로 네트워크 접근이 잘 되셨는지요?^^

 

 

저같은 경우 처음에 네트워크가 잘 되지 않는 경우도 있어

 

 

Hyper-v 의 네트워크를 무선랜에서 유선랜으로 변경하여 되는 경우도 있었으니

 

 

다양한 방법으로 확인해보시기 바랍니다^^

 

 

 

 

반응형
블로그 이미지

나남나여

일상 제품리뷰와 맛집/여행/사진을 좋아하고 IT 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,
반응형

초간단 윈도우10 서비스 삭제 방법

 

 


안녕하세요? 오늘은 윈도우10의 서비스를 삭제하는 방법을 공유하려고 합니다.


사실 윈도우 7, 8, 10 모두 서비스 종료하는 방법은 동일하니


한번 따라해보시고 필요없는 서비스는 지워두시는 것을 권장합니다.


저같은 경우 MySQL 이 두개 설치되었는데


PORT 번호가 겹쳐서 한개는 삭제해야 하는 상황이었습니다.


그렇다면 일단 어떤 서비스를 삭제해야 하는지 step by step 으로 확인해보겠습니다.



 

 

1. 삭제할 서비스 명 확인

 

 

어떤 서비스를 삭제할 지는 이미 머릿속으로 생각하고 있지만 어떤 서비스를 삭제할 것인지

 

명확하게 확인하는 것이 첫번째 입니다.

 

 

 

시작의 검색에서 services.msc 를 검색하여 아이콘을 클릭하면 서비스 관리자로 들어가게됩니다.

 

 

그렇다면 내가 삭제할 서비스인 MySQL 의 명칭을 찾아봅니다.

 

 

 

 

MySQL 의 서비스를 더블클릭하면 서비스 이름이라고 나오는 것을 확인해야합니다.

 

서비스 이름 : MySQL

 

 

 

2. 명령 프롬프트를 실행하여 서비스를 삭제

 

 

명령프롬프트를 열 때 주의해야 할 점은 관리자 권한으로 실행하셔야 합니다.

 

 

( 관리자 권한으로 실행하지 않으면 서비스를 삭제할 때 권한이 없어서 삭제할 수 없다는 메세지가 발생합니다. )

 

 

 

 

그 다음 서비스 삭제 명령어를 실행시켜 줍니다.

 

 

sc delete [삭제할 명령어]

 

sc delete MySQL

 

 

 

 

 

 

서비스를 잘 삭제했다는 메세지가 나옵니다.

 

 

3. 서비스 삭제 확인

 

 

 

 

서비스를 삭제 하고 나면

 

 

MySQL 서비스에 대한 상태를 쿼리할 수 없습니다.

로컬 컴퓨터에 대한 원격 연결이 끊어졌습니다.

 

 

라는 메세지가 발생하는데 무시하면 되고

 

 

F5 키를 눌러서 새로고침을 하면 언제 있었냐는 듯이 순식간에 삭제된 것을 확인할 수 있습니다.

 

 

 

중복된 MySQL 서버는 사라지고 원하는대로 한개의 서버만 남게 되었습니다.

 

 

문제 해결에 도움되셨길 바라며

 

 

정상적으로 진행되지 않는다면 문의해주세요^^

 

 

반응형
블로그 이미지

나남나여

일상 제품리뷰와 맛집/여행/사진을 좋아하고 IT 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,
반응형

윈도우10 네트워크 공유폴더 안보임 해결

 

 

 


회사에서 윈도우7에서는 잘 접근이 되던 공유폴더가


OS 를 Windows 10 으로 업그레이드 한 후에는 공유폴더를 찾을 수 없는 문제가 발생했습니다.


네트워크에서 바로 조회하면 나오던게 안나오게 되니 


바로 구글에 도움을 요청하여 검색해봤는데 생각보다 나오지 않는 것입니다.


그러던 중 찾은 해결책은 SMB 1.0/CIFS 파일 공유 지원이라는 것이 있었습니다.

 

 

SMB 란 Server Message Block 의 약자인데


몇년전부터 유행하던 랜섬웨어 바이러스를 차단하기 위해 

 

 

윈도우 10에서는 기본적으로 체크가 해제된 것으로 보입니다.


자원을 공유할 수 있도록 개발된 프로토콜인데 

 

 

파일이나, 디렉토리, 프린터 등의 자원을 공유하는데 사용하기 위해 만들어졌습니다.

 

 

그럼 CIFS 는 뭐지?

 

 

Common Internet File System 의 약자를 사용하고 있는

 

 

CIFS 란 SMB 파일 공유 프로토콜의 확장된 버전이라고 보면 됩니다.

 

 

SMB 가 Intel 과 Microsoft 가 개발한 것이라면

 

 

CIFS 는 UNIX 업체들도 참여를 했기에 더욱 범용적으로 사용할 수 있는 프로토콜이라고 볼 수 있겠죠



그럼 우리가 원하는 네트워크의 공유폴더를 접근 할 수 있는 방법은 어떻게 하는지 알아보도록 하겠습니다.

 

 

 

 

1. 제어판 > 프로그램 및 기능 > Windows 기능 켜기/끄기

 



2. SMB 1.0/CIFS 파일 공유 지원 
   SMB 1.0/CIFS 서버 
   SMB 1.0/CIFS 자동 제거 
   SMB 1.0/CIFS 클라이언트 
 위 4개 사항을 전부 체크 

 



3.재부팅

 

 

이렇게 세팅을 하면 네트워크 공유폴더에 접근할 수 있는 폴더가 보이게 됩니다.

 

 

다른 원인으로는 내부망을 사용하고 있지 않은 네트워크를 사용하고 있다던지

 

 

NetBIOS 설정이 사용하지 않는다던지

 

 

다양한 원인이 있을 수 있으니 다방면으로 체크해보시길 바랍니다.

 

 

반응형
블로그 이미지

나남나여

일상 제품리뷰와 맛집/여행/사진을 좋아하고 IT 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,
반응형

405 method not allowed 해결방법

 

 

Windows Server 2008 R2 Standard 서버를 사용하다가

 

 

서버 EOS 가 되면서 Windows Server 2016 Standard 버전을 사용하게 되었다.

 

 

내부 시스템을 전환하기 위해서 소스와 서버 환경을

 

 

순차적으로 옮기는 과정이 순조롭게 진행되는가 싶더만

 

 

최종과정에서 확인하려고 접속해보니 405 오류가 발생하는 것이다.

 

 

 

 

 

오류 메세지 보기

원격 서버에서 (405) 메서드를 사용할 수 없음 오류를 반환했습니다. 

응용 프로그램에 서버 오류가 있습니다. 

원격 서버에서 (405) 메서드를 사용할 수 없음 오류를 반환했습니다. 

설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 스택 추적을 검토하여 발생한 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 정보를 확인하십시오. 

예외 정보: System.Net.WebException: 원격 서버에서 (405) 메서드를 사용할 수 없음 오류를 반환했습니다. 

소스 오류 

현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 생성되었습니다. 아래의 예외 스택 추적을 사용하여 예외의 원인 및 위치 정보를 확인할 수 있습니다. 

스택 추적: 

[WebException: 원격 서버에서 (405) 메서드를 사용할 수 없음 오류를 반환했습니다.] 
   System.Net.HttpWebRequest.GetResponse() +1399 
   System.ServiceModel.Channels.HttpChannelRequest.WaitForReply(TimeSpan timeout) +55 

[ProtocolException: 원격 서버가 필요하지 않은 응답을 반환했습니다. (405) Method Not Allowed.] 
   System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) +153 
   System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) +336 
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51 
   System.Web.UI.Control.OnLoad(EventArgs e) +95 
   System.Web.UI.Control.LoadRecursive() +59 
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +678 

버전 정보:Microsoft .NET Framework 버전:4.0.30319; ASP.NET 버전:4.7.3163.0 


[WebException]: 원격 서버에서 (405) 메서드를 사용할 수 없음 오류를 반환했습니다. 
   위치: System.Net.HttpWebRequest.GetResponse() 
   위치: System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) 
[ProtocolException]: 원격 서버가 필요하지 않은 응답을 반환했습니다. (405) Method Not Allowed. 

Server stack trace:  
   위치: System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding) 
   위치: System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) 
   위치: System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout) 
   위치: System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout) 
   위치: System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) 
   위치: System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) 
   위치: System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) 

Exception rethrown at [0]:  
   위치: System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) 
   위치: System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) 
   위치: System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) 
   위치: System.Web.UI.Control.OnLoad(EventArgs e) 
   위치: System.Web.UI.Control.LoadRecursive() 
   위치: System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
[HttpUnhandledException]: 'System.Web.HttpUnhandledException' 형식의 예외가 Throw되었습니다. 
   위치: System.Web.UI.Page.HandleError(Exception e) 
   위치: System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
   위치: System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
   위치: System.Web.UI.Page.ProcessRequest() 
   위치: System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) 
   위치: System.Web.UI.Page.ProcessRequest(HttpContext context) 
   위치: ASP.dashboard_aspx.ProcessRequest(HttpContext context) 
   위치: System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
   위치: System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) 
   위치: System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

자세한 오류 메시지를 표시하도록 ASP.NET이 를 사용하여 구성되었으므로 이 오류 페이지에는 중요한 정보가 포함될 수 있습니다.  
프로덕션 환경에서는  또는 를 사용하십시오.

 

 

 

 

 

구글링으로 찾아보니 대부분의 답변은

 

 

method 방식을 GET 을 사용하면 되는데 POST 를 사용하면 405 오류가 발생하더라

 

 

또는 Access-Control-Allow-Origin 을 헤더 정보에 넣어줘야 한다

 

 

등등 여러 답변이 있어서 대부분 적용해 보았지만 오류가 해결되지 않았다ㅠㅠ

 

 

#오류해결

 

소스나 web.config 파일에서 문제를 찾다가

 

 

설정쪽에 문제가 있진 않았을까 하고 구글 검색 방식을 바꿔보니

 

 

HTTP 활성화를 해줘야 한다는 것이다.

 

 

서버 역할에서 백날 빠진 게 있나 찾아봤었는데

 

 

다음단계인 기능에서 확인해볼 수 있는 내용이었다.

 

 

 

HTTP 활성화는 HTTP 를 통한 프로세스 활성화를 지원합니다.

HTTP 활성화를 사용하는 응용 프로그램은

네트워크에서 HTTP를 통해 도착하는 작업 항목에 대한 응답으로

동적으로 시작되고 중지될 수 있습니다.

 

 

라는 내용을 가지고 있는데

 

WCF 서비스에서 HTTP 활성화를 켜둬야 POST 나 GET method 를 사용할 수 있게 된다.

 

 

WCF 서비스는 Windows Communication Foundation 의 약자로

 

 

여러 응용프로그램을 커뮤니케이션(연결)해주는 서비스라고 생각하시면 됩니다.

 

 

.NET Framework 기능에서 HTTP 를 활성해주어야 정상적인 웹 동작을 할 수 있다는 것을 알게 되어서 기쁘네요^^

 

 

 

 

반응형
블로그 이미지

나남나여

일상 제품리뷰와 맛집/여행/사진을 좋아하고 IT 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,
반응형

 

#파일이나 어셈블리 'Oracle.DataAccess'

 

 

 

IIS 에서 응용 프로그램을 추가 하고 서버에 접속하고 나니

 

아래와 같은 오류가 발생했습니다.

 

파일이나 어셈블리 'Oracle.DataAccess' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 프로그램을 잘못된 형식으로 로드하려고 했습니다.  

 

 

 

 

이하 오류 내용



'/test' 응용 프로그램에 서버 오류가 있습니다.

파일이나 어셈블리 'Oracle.DataAccess' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 프로그램을 잘못된 형식으로 로드하려고 했습니다. 
 설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 스택 추적을 검토하여 발생한 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 정보를 확인하십시오. 

예외 정보: System.BadImageFormatException: 파일이나 어셈블리 'Oracle.DataAccess' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 프로그램을 잘못된 형식으로 로드하려고 했습니다.

소스 오류: 


현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 생성되었습니다. 아래의 예외 스택 추적을 사용하여 예외의 원인 및 위치 정보를 확인할 수 있습니다.  

어셈블리 로드 추적: 다음 정보는 'Oracle.DataAccess' 어셈블리를 로드할 수 없는 이유를 알아내는 데 도움이 됩니다.



경고: 어셈블리 바인딩 로깅이 꺼져 있습니다.
어셈블리 바인딩 오류 로깅 기능을 사용하려면 레지스트리 값 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)를 1로 설정하십시오.
참고: 어셈블리 바인딩 오류 로깅 기능을 사용하도록 설정하면 그렇지 않은 경우보다 성능이 약간 떨어집니다.
이 기능을 끄려면 레지스트리 값 [HKLM\Software\Microsoft\Fusion!EnableLog]를 제거하십시오.

  

스택 추적: 



[BadImageFormatException: 파일이나 어셈블리 'Oracle.DataAccess' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 프로그램을 잘못된 형식으로 로드하려고 했습니다.]
   System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
   System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +225
   System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +110
   System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +22
   System.Reflection.Assembly.Load(String assemblyString) +34
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +48

[ConfigurationErrorsException: 파일이나 어셈블리 'Oracle.DataAccess' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 프로그램을 잘못된 형식으로 로드하려고 했습니다.]
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +725
   System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +247
   System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +157
   System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +226
   System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +73
   System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +319
   System.Web.Compilation.BuildManager.ExecutePreAppStart() +170
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +820

[HttpException (0x80004005): 파일이나 어셈블리 'Oracle.DataAccess' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 프로그램을 잘못된 형식으로 로드하려고 했습니다.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +523
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +107
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +688

  


버전 정보: Microsoft .NET Framework 버전:4.0.30319; ASP.NET 버전:4.7.3163.0  

 

 


 

오류원인은 응용프로그램 풀에서 등록해 놓은 연결 프로그램이 32bit 프로그램을 사용하고 있는데

 

 

윈도우 서버 ( Windows Server Standard ) 2016 64비트 운영체제를 사용하고 있어서

 

 

default 로 세팅된 것이 64bit 로 설정되어 있어서 bit 수 오류가 발생하였다.

 

 

 

#해결방법

 

 

1. IIS 인터넷 정보 서비스 관리자

2. 응용 프로그램 풀

3. 응용 프로그램 선택

4. 고급설정

5. 32비트 응용 프로그램 사용 : False -> True 로 변경

 

 

32비트 응용 프로그램 사용은 64비트 운영 체제의 응용 프로그램 풀에 대해 True 로 설정하면

응용 프로그램 풀을 처리하는 작업자 프로세스가 WOW64 ( Windows on Windows64 ) 모드로 실행됩니다.

WOW64 모드의 프로세스는 32비트 응용 프로그램 모드만 로드하는 32비트 프로세스입니다.

 

 

다시 접속하니 한번에 해결!

반응형
블로그 이미지

나남나여

일상 제품리뷰와 맛집/여행/사진을 좋아하고 IT 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,
반응형