독까의 이야기

서버 개체 오류 'ASP 0177 : 8000401a' Server.CreateObject 실패.



Com+ 구성 요소 서비스에 등록되어 있는 컴포넌트 모듈 설정 변경 진행 


1.  활성화 - 활성화 유형의 변경을 통한 에러 처리

  ->  라이브러리 응용 프로그램 or 서버 응용 프로그램




2.  ID - 계정의 변경을 통한 에러 처리 

  ->  활성화 유형을 서버 응용 프로그램으로 설정 된 상태에서

       ID - 계정 변경 




HTTP 오류 500.23 - Internal Server Error

관리되는 통합 파이프라인 모드에 적용되지 않는 ASP.NET 설정이 있습니다.



가능한 해결 방법:

  • 구성을 system.webServer/handlers 섹션으로 마이그레이션합니다. 수동으로 마이그레이션하거나 명령줄에서 AppCmd를 사용하여 마이그레이션합니다. 예: %SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/". AppCmd를 사용하여 응용 프로그램을 마이그레이션하면 통합 모드에서 사용할 수 있으며 클래식 모드 및 이전 버전의 IIS에서도 사용할 수 있습니다.
  • 이 오류를 무시해도 좋다고 확인된 경우 system.webServer/validation@validateIntegratedModeConfiguration을 false로 설정하여 이 기능을 사용하지 않도록 설정할 수 있습니다.
  • 또는 응용 프로그램을 클래식 모드 응용 프로그램 풀로 전환합니다. 예: appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool". 응용 프로그램을 마이그레이션할 수 없는 경우에만 이렇게 하십시오.
("Default Web Site" 및 "Classic .NET AppPool"을 응용 프로그램 경로와 응용 프로그램 풀 이름으로 설정합니다.)




1. Open Server Manager
->  서버 관리자 실행

2. Select Roles>Web Server (IIS)>IIS Manager>Select the Server>Applocation Pools
->  IIS 관리자 - 응용프로그램풀

3. Select the appPool that your asp.net app is running under>Click on 'Advanced Settings' from the right 
hand pane.
->  해당 응용 프로그램풀 선택 - 우클릭 - 고급 설정

4. Under Advanced Settings>General>Managed Pipeline Mode, select "Classic"
->  관리되는 파이프라인 모드 : 클래식 

5. Recycle app pool and test your app.
->  응용프로그램 풀 작업 - 재생 


ADODB.Connection 오류 '800a0e78'

개체가 닫혀 있으면 작업이 허용되지 않습니다.

/customer/news_view.asp, 줄 19



게시판 리스트는 확인이 되는데 게시글 클릭시 에러 메시지 출력 된다.

DB 커넥션 부분이 문제가 되었다. 

원본 : 

Set db = Server.CreateObject("ADODB.Connection")
db.Open dbcon

수정본 : 

Set db = Server.CreateObject("ADODB.Connection")
db.open "Provider= SQLOLEDB; Data Source=디비 서버 아이피; Initial Catalog=디비명; User id=디비 계정; password=디비 패스워드;"

소스 안에 직접 DB 커넥션 작성한다.

게시글 클릭시 오류 없이 확인 된다.



* 참고 페이지


데이터베이스에 연결하는 방법은 여러 가지가 있습니다. 이 문서에서는 다양한 종류의 데이터베이스와 데이터베이스 연결에 대한 예제 연결 문자열에 대해 단계별로 설명합니다.

요구 사항

다음은 데이터베이스 연결을 위한 요구 사항입니다.
  • MDAC(Microsoft Data Access Components) 버전 2.5 또는 2.6(Jet 데이터베이스 엔진 포함)이 있고 ASP(Active Server Pages)를 사용하는 IIS(인터넷 정보 서비스) 버전 5.0 웹 서버
  • 로컬 또는 원격 데이터베이스로의 연결
  • ASP 사용 Microsoft Internet Explorer 버전 5.0 이상

예제 데이터베이스 연결 문자열

다음 예제는 설명 목적으로만 제공됩니다. 특정 데이터베이스로 연결하려면 이 코드를 작성 중인 ASP 코드에 붙여 넣어야 합니다. 데이터베이스 이름, 서버 이름, 데이터베이스 위치, DSN(데이터 원본 이름) 등의 요소는 해당 정보로 바꿔야 합니다.

Microsoft Access

DSN이 없는 경우
<%
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\mydatabase.mdb"
%>
                                
OLE DB
<%
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=c:\mydatabase.mdb"
%>
                                
파일 DSN
<% Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.open "FILEDSN=ADSN"
%>
                                
DSN은 있고 사용자 ID/암호는 없는 경우
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DSNname"
%>
                                
DSN과 사용자 ID/암호가 모두 있는 경우
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DSNname","username","password"
%>
                                
DSN 없이 실제 경로를 참조로 사용하는 경우
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtest=dsntest & "DBQ=c:\mydatabase.mdb" 
Conn.Open DSNtest
%>
                                
DSN 없이 Server.MapPath를 사용하는 경우

참고: Server.MapPath는 웹 서버 루트의 경로입니다. 기본적으로 이 경로는 C:\Inetpub\Wwwroot입니다.
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtest=dsntest & "DBQ=" & Server.MapPath("/databases/mydatabase.mdb")
Conn.Open DSNtest
%>
                                

Microsoft SQL Server

OLE DB
<%
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.open "PROVIDER=SQLOLEDB;DATA SOURCE=sqlservername;UID=username;PWD=password;DATABASE=mydatabase "
%>
                                
DSN이 있는 경우
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DSN=MyDSN;UID=user;PWD=password;DATABASE=mydatabase"
%>
                                
DSN이 없는 경우
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"
Conn.open DSNtest
%>
                                

Microsoft Visual FoxPro

DSN이 없는 경우
<%
Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr= "Driver=Microsoft Visual Foxpro Driver; UID=userID;SourceType=DBC;SourceDB=C:\databases\mydatabase.dbc"
Conn.Open ConnStr
%>
                                

Oracle

DSN이 있는 ODBC
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.cursorlocation=adUseClient   
' requires use of adovbs.inc; numeric value is 3
Conn.open "DSN=test;UID=name;PWD=pass"
%>
                                
OLE DB
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.cursorlocation=adUseClient   
' requires use of adovbs.inc; numeric value is 3
DSNTest="Provider=MSDAORA.1;Password=pass;User ID=name;Data Source=data.world"
Conn.open DSNtest
%>