현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

Windows NT 4 .0에서 Windows 2000 또는 Windows XP로 업그레이드한 후 액세스 기반 또는 잉크젯 데이터베이스 기반 프로그램에서 성능이

Office 2003에 대한 지원이 종료되었습니다.

Microsoft는 2014년 4월 8일 Office 2003에 대한 지원을 종료했습니다. 이러한 변경에 따라 해당 소프트웨어 업데이트 및 보안 옵션이 영향을 받습니다. 사용자에게 미치는 영향 및 계속 보호를 받는 방법에 대해 알아보십시오.

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

891176
현상
Microsoft Windows 2000 또는 Microsoft Windows XP Professional 컴퓨터를 Microsoft Windows NT 4 .0에서 업그레이드한 후 Access에서 느린 성능이 저하될 수 있습니다 - 기반으로 또는 Jet 데이터베이스 기반 프로그램.
원인
다음 조건 중 한 경우 이 문제가 발생할 수 있습니다.
  • 분할 데이터베이스를 사용하여 작업하는 및 백 엔드 데이터베이스 파일에 8자 이상의 긴 이름을 있는 폴더에 위치합니다. 예를 들어, 다음과 유사한 이름을 가진 폴더를 백 엔드 데이터베이스 파일에 있는:
    BigFolderName
  • 분할 데이터베이스를 사용하여 작업하고 백 엔드 데이터베이스 파일의 이름을 8자 이상의 세 문자로 된 .mdb 파일 이름 확장명을 제외한 깁니다. 예를 들어, 백 엔드 데이터베이스 파일에 다음과 유사한 이름이 있습니다.
    BigDatabaseFileName.mdb
  • 분할할 수 있는 데이터베이스로 작업하는 및 데이터베이스 파일 이름을 8.3 명명 규칙을 따르지 않습니다. 또는 데이터베이스를 긴 이름을 가진 폴더에 저장됩니다.
캐싱 디자인 워크스테이션 서비스의 Windows 2000 및 이후 버전의 Windows에서 이전 버전의 Windows 워크스테이션 서비스의 캐싱 디자인 다릅니다.

Windows 2000 및 이후 버전의 Windows 워크스테이션 서비스 캐싱 디자인 처리하도록 변경된 무결성 다중 사용자 환경에서 데이터베이스. 이 디자인 변경 Jet API 호출에 대한 긴 폴더 이름 또는 긴 파일 이름에 대한 정보를 검색할 때 지연이 발생합니다. 추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
889588Office Access 및 Jet 데이터베이스 엔진 네트워크 성능을 Windows 2000 기반 및 Windows XP 기반 클라이언트가 최적화하는 방법
해결 방법
Microsoft는 묵시적인 보증 없이 목적으로만 프로그래밍 예제를 제공합니다. 이 포함되지만, 상품성 또는 특정 목적에의 적합성에 대한 묵시적인된 보증이 제한되지 않습니다. 이 문서에서는 만들려면 및 프로시저를 디버깅하는 데 사용되는 도구 및 여기서 설명하는 프로그래밍 언어에 익숙한 사용자를 대상으로 합니다. Microsoft 지원 엔지니어는 사용자에게 도움이 되도록 특정 절차에 대한 기능을 설명할 수 있지만 추가 기능을 제공하거나 특정 요구 사항에 맞도록 프로시저를 구성하지는 이 예제를 수정하지 않습니다.

분할 데이터베이스를 사용하여 작업하는 경우, 기존 Jet 테이블을 다시 링크 이 문제를 해결할 수 있습니다. 이렇게 하려면 Windows API 긴 폴더 이름 약식 표현을 보내도록 코드를 만듭니다. 이 백 엔드 데이터베이스를 8.3 명명 규칙을 따르는 파일 이름이 있어야 합니다. 이 코드를 만들려면 프런트 엔드 데이터베이스의 다음과 같이 하십시오.
  1. Microsoft ADO Ext 2.5 (또는 이후 버전의 ADO) 참조를 설정하십시오.
  2. 새 모듈에 다음 코드를 추가하십시오.
    Declare Function GetShortPathName Lib "kernel32" _            Alias "GetShortPathNameA" (ByVal lpszLongPath As String, _           ByVal lpszShortPath As String, ByVal cchBuffer As Long) As LongFunction RefreshLinks()    On Error GoTo ErrorHandler        'Define the ADOX Catalog object.    Dim objCat As New ADOX.Catalog     'Define the ADOX Table object.    Dim objTbl As ADOX.Table     'Database name of the linked table.    Dim strFilename As String     'Path and database name of the linked table.    Dim strFullName As String     Dim blnIsMapi As Boolean    Dim blnIsImex As Boolean    Dim blnIsTemp As Boolean    Dim blnLongFileName As Boolean    Dim blnFailedLink As Boolean    Const srtImex = "IMEX"    Const strMapi = "MAPILEVEL="    'Open the catalog.    objCat.ActiveConnection = CurrentProject.Connection    'Loop through the table collection and update the linked tables.    For Each objTbl In objCat.Tables        'Verify that the table is a linked table.        If objTbl.Type = "LINK" = True Then            blnIsTemp = objTbl.Properties("Temporary Table") Or Left(objTbl.Name, 1) = "~"            blnIsImex = (InStr(1, objTbl.Properties("Jet OLEDB:Link Provider String"), srtImex, vbTextCompare) > 0)            blnIsMapi = (InStr(1, objTbl.Properties("Jet OLEDB:Link Provider String"), strMapi, vbTextCompare) > 0)            If Not blnIsTemp And Not blnIsImex And Not blnIsMapi Then                  'Verify that the table is a Jet table.                strFullName = objTbl.Properties("Jet OLEDB:Link Datasource")                strFilename = Mid(strFullName, InStrRev(strFullName, "\", _                            Len(strFullName)) + 1, Len(strFullName))                'Determine whether the database exists.                If DoesFileExist(strFullName) = True Then                    objTbl.Properties("Jet OLEDB:Link Datasource") = GetShortName(strFullName)                  'Update the link by using the short path name.                Else                    MsgBox "Cannot update: '" & objTbl.Name & "'" & String(2, vbCrLf) & "File not found: " & vbCrLf & strFullName                    blnFailedLink = True                End If                If InStr(strFilename, ".") > 9 Then blnLongFileName = True            End If        End If    Next       If blnFailedLink = False Then        If blnLongFileName = True Then            MsgBox "The table links were successfully updated, but the name of the backend database file does not follow 8.3" & _            vbCrLf & "Please rename the file, relink the tables, and then run the procedure again.", vbExclamation        Else            MsgBox "The links were successfully updated!!! ", vbInformation        End If    Else        MsgBox "The links were not successfully updated." & vbCrLf & "Please verify you table links.", vbExclamation    End IfExitHandler:     Exit FunctionErrorHandler:    MsgBox Err.Description & " " & Err.Number    Resume ExitHandler    End FunctionFunction GetShortName(ByVal sLongFileName As String) As String           Dim lRetVal As Long, sShortPathName As String, iLen As Integer           'Set up a buffer area for the API function call return.           sShortPathName = Space(255)           iLen = Len(sShortPathName)               'Call the function.           lRetVal = GetShortPathName(sLongFileName, sShortPathName, iLen)           'Remove unwanted characters.           GetShortName = Left(sShortPathName, lRetVal) End FunctionFunction DoesFileExist(strFileSpec As String) As Boolean    'Return True if the file that is specified in the    'strFilespec argument exists.    'Return False if strFileSpec is not a valid    'file or if strFileSpec is a directory.    Const INVALID_ARGUMENT As Long = 53    On Error GoTo DoesfileExist_Err    If (GetAttr(strFileSpec) And vbDirectory) <> vbDirectory Then        DoesFileExist = CBool(Len(Dir(strFileSpec)) > 0)    Else        DoesFileExist = False    End IfDoesfileExist_End:    Exit FunctionDoesfileExist_Err:    DoesFileExist = False    Resume DoesfileExist_EndEnd Function
  3. RefreshLinks 함수를 실행하십시오. 이렇게 하려면 다음과 같이 하십시오.
    1. Visual Basic 편집기에서 [보기] 메뉴에서 [직접 실행 창 을 누릅니다.
    2. 직접 실행 창에 RefreshLinks를 입력하십시오. 그런 다음 Enter 키를 누릅니다.
RefreshLinks 함수를 하지만 데이터베이스에 연결된 Jet 테이블 반복하고 링크를 사용할 수 있는지 여부를 확인합니다. 링크를 사용할 수 있으면 이 코드를 사용하는 Windows API 8.3 명명 규칙을 따르는 간단한 이름을 만들려면 GetShortPathName 기능을. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
142982Windows에서 긴 파일 이름을 8.3 파일 이름을 생성하는 방법을
그런 다음 이 코드는 새 짧은 이름이 포함된 경로를 사용하여 링크를 업데이트합니다. 8.3 명명 규칙을 따르지 않는 백 엔드 데이터베이스 파일에 링크가 가리키는 경우 이 코드를 백 엔드 데이터베이스 파일 이름을 제안하는 메시지를 생성합니다.
현재 상태
Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 Microsoft 제품에서 이 문제를 확인했습니다.

참고 Windows XP를 사용할 경우 Windows XP 서비스 팩 2 (SP2) 적용하여 성능을 향상시킬 수 있습니다.
추가 정보
자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
209862Access 2000에서 공용 대화 컨트롤 사용하여 백 엔드 테이블 다시 연결 방법
175512짧은 파일 이름을 긴 파일 이름을 가져오는 방법
ACC2007 Acc2002 Acc2003 Access XP Jet NT4 NT4.0 Win2000 WinXP

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 891176 - 마지막 검토: 12/01/2007 02:09:17 - 수정: 4.3

Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition, Microsoft Access 2000 Standard Edition, Microsoft Access 97 Standard Edition

  • kbmt kbfilesystems kbenv kbtshoot kbhowto kbinfo KB891176 KbMtko
피드백
/ms.js"> >display: none; " src="https://c1.microsoft.com/c.gif?DI=4050&did=1&t=">t" async=""> var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("