Dreamweaver에서 사용 권한 문제, Microsoft 오류 메시지 및 MySQL 오류 메시지를 해결합니다.

참고:

Dreamweaver CC 이상 버전에서 사용자 인터페이스가 간소화되었습니다. 따라서 이 문서에 설명된 옵션 중에 Dreamweaver CC 이상 버전에 없는 옵션이 있을 수 있습니다. 자세한 내용은 이 문서를 참조하십시오.

사용 권한 문제 해결

가장 일반적인 문제 중 한 가지는 폴더 또는 파일에 대한 사용 권한이 충분하지 않다는 것입니다. 데이터베이스가 Windows 2000 또는 Windows XP 컴퓨터에 있고 웹 브라우저 또는 라이브 뷰에서 동적 페이지를 보려고 할 때 오류 메시지가 발생한 경우 이 오류는 사용 권한 문제 때문일 수 있습니다.

데이터베이스에 액세스하려는 Windows 계정에 충분한 사용 권한이 없습니다. 계정은 익명 Windows 계정이거나(기본적으로, IUSR_컴퓨터 이름) 페이지가 인증 액세스로 보호되는 경우 특정 사용자 계정이 될 수 있습니다.

사용 권한을 변경하여 IUSR_컴퓨터 이름 계정에 올바른 사용 권한을 부여해야 웹 서버에서 데이터베이스 파일에 액세스할 수 있습니다. 또한 데이터베이스가 들어 있는 폴더에도 특정 사용 권한이 설정되어 있어야 해당 데이터베이스에 기록할 수 있습니다.

페이지에 익명으로 액세스할 수 있도록 하려면 다음 절차에 따라 IUSR_컴퓨터 이름 계정에 폴더 및 데이터베이스 파일에 대한 모든 권한을 부여합니다.

또한 데이터베이스 경로가 UNC를 사용하여 참조되는 경우(\\Server\Share), 공유 사용 권한에 따라 IUSR_컴퓨터 이름 계정에 모든 권한을 부여하도록 합니다. 이 단계는 공유 대상이 로컬 웹 서버에 있는 경우에도 적용됩니다.

다른 위치에서 데이터베이스를 복사하는 경우 대상 폴더의 권한이 상속되지 않을 수도 있으며 해당 데이터베이스에 대한 권한을 변경해야 할 수도 있습니다.

데이터베이스 파일 사용 권한 확인 또는 변경(Windows XP)

  1. 시스템에서 관리자 권한이 있는지 확인합니다.
  2. Windows 탐색기에서 데이터베이스가 포함된 데이터베이스 파일 또는 폴더를 찾은 다음 파일이나 폴더를 마우스 오른쪽 버튼으로 클릭하고 [등록 정보]를 선택합니다.
  3. [보안] 탭을 선택합니다.

    참고:

    이 단계는 NTFS 파일 시스템인 경우에만 적용됩니다. FAT 파일 시스템인 경우에는 대화 상자에 [보안] 탭이 없습니다.

  4. IUSR_컴퓨터 이름 계정이 [그룹 또는 사용자 이름] 목록에 표시되지 않으면 [추가] 버튼을 클릭하여 추가합니다.
  5. [사용자 또는 그룹 선택] 대화 상자에서 [고급]을 클릭합니다.

    대화 상자 모양이 바뀌면서 더 많은 옵션이 표시됩니다.

  6. [위치]를 클릭하고 컴퓨터 이름을 선택합니다.
  7. [지금 찾기]를 클릭하여 컴퓨터와 관련된 계정 이름 목록을 표시합니다.
  8. IUSR_컴퓨터 이름 계정을 선택하고 [확인]을 클릭합니다. 그런 후 [확인]을 다시 클릭하여 대화 상자를 닫습니다.
  9. IUSR 계정에 모든 권한을 부여하려면 [모든 권한]을 선택하고 [확인]을 클릭합니다.

데이터베이스 파일 사용 권한 확인 또는 변경(Windows 2000)

  1. 시스템에서 관리자 권한이 있는지 확인합니다.
  2. Windows 탐색기에서 데이터베이스가 포함된 데이터베이스 파일 또는 폴더를 찾은 다음 파일이나 폴더를 마우스 오른쪽 버튼으로 클릭하고 [등록 정보]를 선택합니다.
  3. [보안] 탭을 선택합니다.

    참고:

    이 단계는 NTFS 파일 시스템인 경우에만 적용됩니다. FAT 파일 시스템인 경우에는 대화 상자에 [보안] 탭이 없습니다.

  4. IUSR_컴퓨터 이름 계정이 [파일 사용 권한] 대화 상자의 Windows 계정에 나열되어 있지 않으면 [추가] 버튼으로 클릭하여 추가합니다.
  5. [사용자, 컴퓨터 또는 그룹 선택] 대화 상자의 [찾는 위치] 메뉴에서 컴퓨터 이름을 선택하여 컴퓨터와 관련된 계정 이름 목록을 표시합니다.
  6. IUSR_컴퓨터 이름 계정을 선택한 다음 [추가]를 클릭합니다.
  7. IUSR 계정에 모든 권한을 부여하려면 [사용 권한] 메뉴에서 [모든 권한]을 선택하고 [확인]을 클릭합니다.

    데이터베이스가 들어 있는 웹 폴더의 읽기 사용 권한이 해제되도록 사용 권한을 설정하여 보안을 강화할 수도 있습니다. 이렇게 하면 폴더를 검색하는 것은 허용되지 않지만 웹 페이지에서 데이터베이스에 액세스할 수는 있습니다.

    IUSR 계정 및 웹 서버 사용 권한에 대한 자세한 내용은 Adobe 지원 센터에서 다음 기술 문서를 참조하십시오.

Microsoft 오류 메시지 문제 해결

Access 또는 SQL Server 같은 Microsoft 데이터베이스 시스템과 IIS(Internet Information Server)를 함께 사용하는 경우 서버에서 동적 페이지를 요청할 때 이러한 Microsoft 오류 메시지가 표시될 수 있습니다.

참고:

Adobe는 Microsoft Windows 및 IIS와 같은 서드 파티 소프트웨어에 대한 기술 지원을 제공하지 않습니다. 이 정보를 사용하여 문제가 해결되지 않을 경우 Microsoft 기술 지원 서비스에 문의하거나 Microsoft 지원 웹 사이트(/http://support.microsoft.com/)를 참조하십시오.

80004005 오류에 대한 자세한 내용은 http://support.microsoft.com/default.aspx?scid=kb;ko-kr;Q306518에서 Microsoft 웹 사이트의 “INFO: Troubleshooting Guide for 80004005 Errors in Active Server Pages and Microsoft Data Access Components (Q306518)”를 참조하십시오.

[참조]80004005—데이터 소스 이름을 찾을 수 없으며 기본 드라이버가 지정되지 않음

이 오류는 웹 브라우저 또는 라이브 뷰에서 동적 페이지를 보려고 시도하는 경우 발생합니다. 오류 메시지는 데이터베이스와 웹 서버에 따라 달라집니다. 이 오류 메시지는 다음과 같은 형태로도 나타납니다.

  • 80004005—Driver's SQLSetConnectAttr failed

  • 80004005—General error unable to open registry key 'DriverId'

    다음은 가능한 원인과 해결 방법입니다.

  • 페이지가 DSN을 찾을 수 없습니다. 웹 서버와 로컬 컴퓨터 모두에서 DSN이 만들어졌는지 확인합니다.

  • DSN이 시스템 DSN이 아닌 사용자 DSN으로 설정되어 있을 수 있습니다. 사용자 DSN을 삭제하고 시스템 DSN을 만들어 이를 대체합니다.

참고:

사용자 DSN을 삭제하지 않으면 DSN 이름이 중복되어 새로운 ODBC 오류가 발생합니다.

Microsoft Access를 사용하는 경우, 데이터베이스 파일(.mdb)이 잠겨 있을 수 있습니다. 잠금은 다른 이름의 DSN이 데이터베이스에 액세스하고 있기 때문에 발생합니다. Windows 탐색기에서, 해당 데이터베이스 파일(.mdb)이 포함된 폴더에 있는 잠금 파일(.ldb)을 찾아 삭제합니다. 다른 DSN이 동일한 데이터베이스 파일을 가리키고 있을 경우 이 DSN도 삭제해야 추가 오류 발생을 막을 수 있습니다. 변경 후 컴퓨터를 다시 부팅하십시오.

[참조]80004005—"(알 수 없음)" 사용 불가. 파일이 이미 사용 중임

이 오류는 Microsoft Access 데이터베이스를 사용하면서 웹 브라우저 또는 라이브 뷰에서 동적 페이지를 보려고 시도하는 경우 발생합니다. 이 오류 메시지는 “80004005—Microsoft Jet database engine cannot open the file (unknown)”과 같은 형태로도 나타납니다.

이 문제는 사용 권한으로 인해 발생합니다. 다음은 몇 가지 원인과 해결 방법입니다.

  • IIS에서 사용하는 계정(대개 IUSR)이 파일 기반 데이터베이스 또는 파일을 포함하는 폴더에 대해 올바른 Windows 사용 권한을 갖고 있지 않기 때문입니다. 사용자 관리자에서 IIS 계정(IUSR)의 사용 권한을 확인합니다.

  • 임시 파일을 만들거나 삭제할 권한이 없기 때문입니다. 파일 및 폴더에 대한 사용 권한을 확인합니다. 임시 파일을 만들거나 삭제할 권한이 있는지 확인합니다. 임시 파일은 대개 데이터베이스와 같은 폴더에 만들어지지만 /Winnt처럼 다른 폴더에 만들어질 수도 있습니다.

  • Windows 2000에서는 Access 데이터베이스 DSN에 대한 시간 제한 값을 변경해야 할 수도 있습니다. 시간 제한 값을 변경하려면 [시작] > [설정] > [제어판] > [관리 도구] > [데이터 원본(ODBC)]을 선택합니다. [시스템] 탭을 클릭하고 올바른 DSN을 강조 표시한 다음 [구성] 버튼을 클릭합니다. [옵션] 버튼을 클릭하고 페이지 시간 초과 값을 5000으로 변경합니다.

    그래도 문제가 해결되지 않으면 다음 Microsoft 기술 자료 문서를 참조하십시오.

  • PRB: 80004005 “Couldn't Use ‘(unknown)’; File Already in Use” at http://support.microsoft.com/default.aspx?scid=kb;ko-kr;Q174943.

  • PRB: Microsoft Access Database Connectivity Fails in Active Server Pages at http://support.microsoft.com/default.aspx?scid=kb;ko-kr;Q253604.

  • PRB: Error “Cannot Open File Unknown” Using Access at http://support.microsoft.com/default.aspx?scid=kb;ko-kr;Q166029.

[참조]80004005—로그온 실패()

이 오류는 Microsoft SQL Server를 사용하면서 웹 브라우저 또는 라이브 뷰에서 동적 페이지를 보려고 시도하는 경우 발생합니다.

이 오류는 전송된 로그온 계정 또는 암호를 SQL Server가 암호를 허용하지 않거나 인식하지 못하는 경우(표준 보안 사용) 또는 Windows 계정이 SQL 계정에 매핑되지 않는 경우(통합 보안 사용) SQL Server에 의해 발생합니다.

다음과 같은 해결 방법을 사용할 수 있습니다.

  • 표준 보안을 사용하는 경우, 계정 이름과 암호가 잘못되었을 수 있습니다. 시스템 관리자 계정 및 암호(UID= “sa” 및 암호 없음)로 시도해 보십시오. 이 계정과 암호는 연결 문자열 행에 정의되어 있어야 합니다. DSN은 사용자 이름과 암호를 저장하지 않습니다.

  • 통합 보안을 사용하는 경우, 페이지를 호출하는 Windows 계정을 확인하여 이 계정에 매핑된 SQL 계정을 찾습니다.

  • SQL Server는 SQL 계정 이름에 밑줄을 허용하지 않습니다. 수동으로 Windows의 IUSR_컴퓨터 이름 계정을 같은 이름의 SQL 계정으로 매핑하면 오류가 발생합니다. 밑줄을 사용하는 계정은 SQL에서 밑줄을 사용하지 않는 계정 이름으로 매핑합니다.

[참조]80004005—업데이트 가능한 쿼리를 작업에 사용해야 함

이 오류는 이벤트가 레코드세트를 업데이트하거나 레코드세트에 데이터를 삽입할 때 발생합니다.

다음은 가능한 원인과 해결 방법입니다.

  • 데이터베이스가 포함된 폴더에 설정된 사용 권한이 너무 제한적이기 때문입니다. IUSR 권한을 읽기/쓰기로 설정해야 합니다.

  • 데이터베이스 파일 자체에 대한 사용 권한이 실제로 모든 읽기/쓰기 권한이 아니기 때문입니다.

  • 데이터베이스가 Inetpub/wwwroot 디렉터리 외부에 있기 때문입니다. 데이터베이스가 wwwroot 디렉터리에 있지 않으면 데이터를 보고 검색할 수는 있지만 업데이트할 수는 없습니다.

  • 레코드세트가 업데이트할 수 없는 쿼리에 기반하기 때문입니다. 데이터베이스에서 업데이트할 수 없는 쿼리의 좋은 예로 조인을 들 수 있습니다. 쿼리를 재구성하여 업데이트할 수 있도록 합니다.

    이 오류에 대한 자세한 내용은 http://support.microsoft.com/default.aspx?scid=kb;ko-kr;Q174640의 Microsoft 기술 자료에서 “PRB: ASP ‘Error The Query Is Not Updateable’ When You Update Table Record”를 참조하십시오.

[참조]80040e07—조건식에서 데이터 유형 불일치

이 오류는 서버에서 레코드 삽입 또는 레코드 업데이트 등의 서버 비헤이비어가 포함된 페이지를 처리하려 하고, 서버 비헤이비어는 Microsoft Access 데이터베이스의 날짜/시간 열 값을 빈 문자열("")로 설정하려고 시도할 때 발생합니다.

Microsoft Access는 데이터 유형을 강력히 제한하여 지정된 열 값에 엄격한 일련의 규칙을 부여합니다. SQL 쿼리의 빈 문자열을 Access의 날짜/시간 열에 저장할 수 없습니다. 현재 알려진 유일한 해결 방법은 Access의 날짜/시간 열을 빈 문자열("") 또는 데이터 유형에 지정된 범위의 값을 벗어나는 다른 값으로 삽입하거나 업데이트하지 않는 것입니다.

[참조]80040e10—매개 변수 너무 적음

이 오류는 SQL 쿼리에 지정된 열이 데이터베이스 테이블에 존재하지 않을 경우 발생합니다. SQL 쿼리와 데이터베이스 테이블의 열 이름을 서로 확인하십시오. 이 오류는 종종 입력 시 오류 때문에 발생합니다.

[참조]80040e10—COUNT 필드가 올바르지 않음

이 오류는 레코드 삽입 서버 비헤이비어가 포함된 페이지를 웹 브라우저에서 미리 보고 이를 사용하여 Microsoft Access 데이터베이스에 레코드를 삽입하려고 시도하는 경우 발생합니다.

필드 이름에 물음표(?)가 포함된 데이터베이스 필드에 레코드를 삽입하려고 시도하는 중일 수 있습니다. Microsoft Access를 포함한 일부 데이터베이스 엔진에서 물음표는 특수 문자이며 데이터베이스 테이블 이름 또는 필드 이름에 사용할 수 없습니다.

데이터베이스 시스템을 열고 필드 이름에서 물음표(?)를 삭제한 다음 이 필드를 참조하는 페이지의 서버 비헤이비어를 업데이트합니다.

[참조]80040e14—INSERT INTO 문에 구문 오

이 오류는 서버가 레코드 삽입 서버 비헤이비어가 포함된 페이지를 처리하려고 시도하는 경우 발생합니다.

이 오류는 대개 데이터베이스의 필드, 오브젝트 또는 변수 이름에 다음 중 하나 이상의 문제가 있는 경우 발생합니다.

  • 이름에 예약 단어 사용. 대부분의 데이터베이스에는 일련의 예약 단어가 있습니다. 예를 들어 “date”는 예약 단어이므로 데이터베이스의 열 이름으로 사용할 수 없습니다.

  • 이름에 특수 문자 사용. 다음은 특수 문자의 예입니다.

    . / * : ! # & - ?

  • 이름에 공백 사용

    이 오류는 데이터베이스의 오브젝트에 삽입 마스크가 정의되어 있고 삽입된 데이터가 이 마스크에 맞지 않을 경우에도 발생할 수 있습니다.

    이 문제를 해결하려면 데이터베이스의 열 이름을 지정할 때 “date”, “name”, “select”, “where,” “level” 등의 예약 단어를 사용하지 마십시오. 또한 공백과 특수 문자를 제거하십시오.

    일반 데이터베이스 시스템의 예약 단어 목록을 보려면 다음 웹 페이지를 참조하십시오.

  • http://support.microsoft.com/default.aspx?scid=kb;ko-kr;Q209187의 Microsoft Access

  • http://dev.mysql.com/doc/mysql/en/reserved-words.html의 MySQL

[참조]80040e21—삽입 또는 업데이트에 ODBC 오류

이 오류는 서버에서 레코드 업데이트 또는 레코드 삽입 서버 비헤이비어가 포함된 페이지를 처리하려고 시도하는 경우 발생합니다. 데이터베이스는 서버 비헤이비어가 수행하려고 시도하는 업데이트 또는 삽입 작업을 처리할 수 없습니다.

다음은 가능한 원인과 해결 방법입니다.

  • 서버 비헤이비어가 데이터베이스 테이블의 자동 번호 필드를 업데이트하거나 자동 번호 필드에 레코드를 삽입하려고 시도하기 때문입니다. 자동 번호 필드는 데이터베이스 시스템에 의해 자동으로 채워지므로 이 필드를 채우려고 하면 오류가 발생합니다.

  • 서버 비헤이비어가 업데이트하거나 삽입하려는 데이터가 데이터베이스 필드에 맞지 않는 유형이기 때문입니다. 예를 들어 부울(예/아니요) 필드에 날짜를 삽입하거나, 숫자 필드에 문자열을 삽입하거나, 날짜/시간 필드에 올바르지 않은 서식이 지정된 문자열을 삽입하는 경우입니다.

[참조]800a0bcd—BOF 또는 EOF가 true임

이 오류는 웹 브라우저 또는 라이브 뷰에서 동적 페이지를 보려고 시도하는 경우 발생합니다.

이 문제는 페이지가 빈 레코드세트에서 데이터를 가져와 표시하려고 시도하는 경우 발생합니다. 이 문제를 해결하려면 다음과 같이 [영역 보기] 서버 비헤이비어를 페이지에 표시될 동적 내용에 적용합니다.

  1. 페이지의 동적 내용을 강조 표시합니다.

  2. [서버 비헤이비어] 패널에서 플러스(+) 버튼을 클릭하고 [영역 보기] > [레코드세트가 비어 있지 않은 경우 영역 표시]를 선택합니다.

  3. 동적 내용을 제공하는 레코드세트를 선택하고 [확인]을 클릭합니다.

  4. 페이지 동적 내용의 각 요소마다 1단계에서 3단계까지를 반복합니다.

MySQL 오류 메시지 문제 해결

PHP와 MySQL 4.1 데이터베이스 연결을 테스트할 때 흔히 나타나는 오류로서, “Client does not support authentication protocol requested. Consider upgrading MySQL client.”라는 오류 메시지가 표시될 수 있습니다.

MySQL의 이전 버전으로 되돌리거나 PHP 5를 설치하고 일부 DLL(동적 링크 라이브러리)을 복사해야 할 수 있습니다. 자세한 내용은 PHP 개발 환경 설정을 참조하십시오.

이 작업에는 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License의 라이센스가 부여되었습니다.  Twitter™ 및 Facebook 게시물은 Creative Commons 약관을 적용받지 않습니다.

법적 고지 사항   |   온라인 개인 정보 보호 정책