Microsoft OLE DB Provider for SQL Server 오류 '80040e4d'
오류 메시지 정리2016. 7. 20. 15:18
dbconnection 소스 확인해서 정보 맞는지 확인!!!
Microsoft OLE DB Provider for SQL Server 오류 '80040e4d'
사용자 'XXXXX'이(가) 로그인하지 못했습니다.
보통 이 메시지 출력하면 ODBC 연결이 되지 않아서임
두 가지의 경우가 있을 수 있음
DB 에 접속하는 정보가 잘못되었거나 웹서버에서 ODBC 설정을 해주거나임
첫번째는 DB 접속 정보 확인해서 정상적으로 맞춰주면 해결이 됨
두번째는 제어판의 ODBC 관리자에서 sql 연동 진행해서 처리하면 됨
SQL Server 표준 보안을 사용 하도록 DSN을 변경 합니다.
- 제어판에서 ODBC 데이터 원본 관리자를 엽니다.
- 시스템 DSN 탭에서 적절 한 DSN을 선택 하 고 구성을 클릭 합니다.
- 다음 은 Microsoft SQL Server DSN 구성 대화 상자에서를 클릭 합니다.
- 로그인 ID와 암호를 입력 한 사용자 라디오 SQL 인증을 사용 하 여선택 합니다.
- 로그인 ID 필드에 적절 한 SQL Server 로그인 ID를 입력 하십시오. 예를 들어: sa.
- 암호 필드에 로그인 ID와 연관 된 암호를 입력 하 고 을 클릭 합니다.
- 다음 을 두 번 클릭 합니다.
- 마침을 클릭 합니다.
- DSN 제대로 구성 되었는지 확인 하려면 테스트 데이터 원본 클릭 합니다.
- 확인을 클릭합니다.
- 확인을 클릭합니다.
- 확인을 클릭합니다.
이런 식으로 한 후 응용프로그램 풀 재시작 해주면 웬만하면 정상적으로 진행이 잘 됨
그런데도 안된다면 찾아봐야 함
(* 업체 DB 관리자에게 포트 및 아이피 오픈 요청하여 접근 정상 처리 되었음..)
우선 ms에서 아래의 문서를 찾아봤는데 이게 가능할지는 모르겠음
SQL Server 인증
SQL Server 인증은 SQL Server 컴퓨터가 보유하고 있는 내부 사용자 목록에 따라 다릅니다. 이 목록은 Windows NT 사용자를 포함하지 않으며 SQL Server 컴퓨터에 한정됩니다. SQL Server 엔터프라이즈 관리자를 사용하여 사용자를 만들고 구성해야 합니다. 이 인증 방법을 사용하려면 다음과 같이 하십시오.- ODBC(Open Database Connectivity)를 통해 연결하는 경우 ODBC 관리자에서 데이터 원본을 구성할 때 SQL Server 인증을 선택합니다.
- ODBC를 사용하는 경우 ActiveX Data Objects(ADO) 연결 문자열에 "UID" 및 "PWD" 매개 변수를 넣고 SQLOLEDB 공급자를 사용하는 경우에는 "User ID" 및 "Password" 매개 변수를 넣습니다.
Windows NT 인증
SQL Server를 실행하는 컴퓨터에서는 Windows NT 계정을 통해 데이터에 액세스할 수 있습니다. Internet Information Server(IIS) 컴퓨터를 통해 Windows NT 인증을 사용하려면 웹 응용 프로그램에 대해 기본 인증을 사용해야 합니다. 이 인증 방법을 사용하려면 다음과 같이 하십시오.- 인터넷 서비스 관리자를 시작합니다.
- 웹 사이트로 이동하여 웹 사이트를 마우스 오른쪽 단추로 누른 다음 속성을 누릅니다.
- 디렉터리 보안 탭을 누르고 익명 액세스 및 인증 제어에서 편집을 누른 다음 기본 인증 (암호를 일반 텍스트로 보냄) 옵션을 선택합니다.
- 웹 응용 프로그램에 대해 기본 인증만 사용합니다.
- 사용자에게 익명 액세스를 허용하는 경우 다음을 확인합니다.
- IIS에서 익명 사용자로 구성된 사용자는 SQL Server를 실행하는 컴퓨터의 Windows NT 계정에서도 구성되어야 합니다.
- SQL Server와 IIS를 각각 다른 컴퓨터에서 실행하는 경우 사용자를 두 컴퓨터에 모두 액세스할 수 있는 도메인 계정으로 만들거나 동일한 암호를 사용하여 SQL Server 컴퓨터와 IIS 컴퓨터 모두에서 로컬로 만들어야 합니다. 두 컴퓨터 모두에서 사용자를 로컬로 만든 경우 SQL Server 컴퓨터에서 해당 사용자에게 로컬로 로그온 권한을 추가로 부여해야 합니다. 사용자가 도메인 계정인 경우 사용자에게 SQL Server 컴퓨터에 대한 "네트워크에서 이 컴퓨터 액세스" 권한을 부여해야 합니다.
- SQL Server와 IIS가 동일한 컴퓨터에서 실행되지 않는 경우 웹 응용 프로그램의 디렉터리 보안 속성 페이지에서 인터넷 서비스 관리자를 시작하고 익명 사용자 계정 대화 상자에서 자동 암호 동기화 옵션을 해제하고 수동으로 계정 암호를 입력합니다.
- IIS 컴퓨터에서는 다른 서버에서도 유효하게 유지되는 보안 토큰을 생성하기 위해 사용자의 암호를 요구합니다. 자동 암호 동기화 옵션을 선택하면 로컬 컴퓨터에 대한 토큰만 만들 수 있습니다.
- IIS와 SQL Server가 동일한 컴퓨터에서 실행되면 연결 문자열과 ODBC 구성 데이터 원본에 있는 SQL Server 데이터 원본의 이름은 가능한 경우 로컬이어야 합니다.
- ODBC 관리자에서 ODBC를 통해 연결하는 경우 데이터 원본을 구성할 때 Windows NT 인증을 선택합니다.
- ODBC를 사용하는 경우 ActiveX Data Objects(ADO) 연결 문자열에서 "UID" 및 "PWD" 매개 변수를 생략하고 SQLOLEDB 공급자를 사용하는 경우에는 "User ID" 및 "Password" 매개 변수를 생략합니다.
- SQL Server용 OLEDB 공급자(공급자=SQLOLEDB)를 사용하여 연결하는 경우 연결 문자열에는 "Integrated Security=SSPI"가 포함되어야 합니다.
- SQL Server 엔터프라이즈 관리자에서는 통합 보안을 통해 로그인에 액세스해야 하는 모든 Windows NT 계정과 그룹을 추가하고 Windows NT 인증을 사용하는 것으로 정의합니다. 관리 작업을 단순화하려면 개별 계정 대신 Windows NT 그룹을 추가하는 것이 좋습니다. 계정을 정의할 때 필요한 모든 데이터베이스, 테이블 및 저장 프로시저에 대한 사용 권한을 구성합니다.
'오류 메시지 정리' 카테고리의 다른 글
HTTP 오류 404.0 - Not Found (0) | 2016.07.20 |
---|---|
HTTP 오류 404.11 (0) | 2016.07.20 |
오류 '80070070' (0) | 2016.07.20 |
서버 개체 오류 'ASP 0177 : 8000401a (0) | 2016.07.20 |
HTTP 오류 500.23 - Internal Server Error (1) | 2016.07.20 |