programing

'마이크로소프트'ACE.OLEDB.12.0' 공급자가 로컬 시스템에 등록되어 있지 않습니다.

yellowcard 2023. 4. 20. 20:45
반응형

'마이크로소프트'ACE.OLEDB.12.0' 공급자가 로컬 시스템에 등록되어 있지 않습니다.

버튼 클릭 이벤트에서 엑셀 파일에서 데이터를 가져오려고 합니다.연결 문자열은 다음과 같습니다.

 string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\source\\SiteCore65\\Individual-Data.xls;Extended Properties=Excel 8.0;";

버튼을 클릭하면 다음 오류가 나타납니다.

'마이크로소프트.ACE.OLEDB.12.0' 공급자가 로컬 컴퓨터에 등록되어 있지 않습니다.

나는 이것을 어떻게 고쳐야 할지 모르겠다.운영체제는 Windows 7입니다.

설치하셔야 합니다.대상 제품:

「Microsoft Access Database Engine 2010」의 64번째 버전.Microsoft 를 사용할 수 있습니다.ACE.OLEDB.12.0' 웹.
http://www.microsoft.com/en-us/download/details.aspx?id=13255httpwww..com/en-us/download/details.aspx?id=13255

승인된 답변에서 다운로드를 사용하는 경우 by@backtestbroker.com에서 지적한 바와 같이 x86용으로 구축해야 합니다.

앱(32/64비트)에 따라 설치 가능한 연결을 사용합니다.

요약:.

  • 2007~2016년의 모든 오피스에는, 프로바이더 「Microsoft」가 포함되어 있습니다.ACE.OLEDB.120"
  • 애플리케이션 아키텍처에 따라 적절한 런타임 엔진 선택 (32/64) 6
  • 32비트 셸과 64비트셸 양쪽에서 powershell 명령을 사용하여 공급자를 확인합니다.

    (New-Object system.data.oledb.oledbenumerator).GetElements() | select SOURCES_NAME, SOURCES_DESCRIPTION 
    
  • 시스템에서 사용할 수 있는 프로바이더가 표시됩니다.

긴 이야기: 문자열은 http://live.sysinternals.com/strings.exe에서 찾을 수 있습니다.

예를 들어 32비트 드라이버가 설치된 64비트 시스템에서

strings.exe -u -n 10 "c:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL" | findstr "ACE.O"
strings.exe -u -n 10 "c:\Program Files (x86)\Common Files\microsoft shared\OFFICE14\MSO.DLL" | findstr "ACE.O"
strings.exe -u -n 10 "c:\Program Files (x86)\Common Files\microsoft shared\OFFICE15\MSO.DLL" | findstr "ACE.O"

다가오는 2016년 사무실에서도

c:\Program Files\Microsoft Office\root\VFS\ProgramFilesCommonX64\Microsoft Shared\OFFICE16\MSO.DLL
c:\Program Files\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\OFFICE16\MSO.DLL

현을 찾을 수 있을 것이다

  • 마이크로소프트(MS.ACE.OLEDB

  • 마이크로소프트(MS.ACE.OLEDB.12.0

Office 2013에는 csi.dll도 포함되어 있습니다.

c:\Program Files (x86)\Common Files\microsoft shared\OFFICE15\Csi.dll
c:\Program Files\Common Files\Microsoft Shared\OFFICE15\Csi.dll

Microsoft」가 포함되어 있습니다.ACE.OLEDB.15.0"

및 Office 2016

c:\Program Files\Microsoft Office\root\VFS\ProgramFilesCommonX64\Microsoft Shared\OFFICE16\Csi.dll
c:\Program Files\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\OFFICE16\Csi.dll

"Microsoft"가 있습니다.ACE.OLEDB.16.0" 버전

가장 먼저 확인해야 할 것은 애플리케이션의 빌드 구성입니다.

  • x86 플랫폼에서 프로젝트를 빌드한 경우 문제를 해결하려면 다음 패키지를 컴퓨터에 설치해야 합니다.

    1. 「Microsoft」를 사용하기 위해서.ACE.OLEDB.12.0' 프로바이더 Microsoft Access Database Engine 2010 Redistributable을 먼저 설치해야 합니다.이 설치는http://http://www.microsoft.com/download/en/details.aspx?id=13255 에서 구할 수 있습니다.

      인스톨이 완료되면, 애플리케이션을 실행해 보겠습니다.이것으로 문제가 해결되면, 정상적으로 해결되지 않는 경우는, 순서 2로 진행됩니다.

    2. 이 다음 순서는 Office 2007의 데이터 접속 컴포넌트이지만 Office 2010에서 사용할 수 있는 설명되지 않은 회피책입니다.왜 이것이 효과가 있는지는 잘 모르겠지만, 효과가 있고, 이것은 거의 모든 경우에 효과가 있는 것으로 증명되었습니다.2007 Office System Driver: Data Connectivity Components 를 설치해야 합니다.이 설치는 http://www.microsoft.com/download/en/confirmation.aspx?id=23734 에서 구할 수 있습니다.

      설치가 완료되면 응용 프로그램을 실행해 보십시오. 그러면 문제가 해결될 것입니다.

  • x64 또는 AnyCPU 플랫폼에서 빌드된 애플리케이션을 실행하려는 경우 먼저 x86 플랫폼에서 정상적으로 실행되는지 검증할 것을 권장합니다.x86 플랫폼에서 실행되지 않는 경우 첫 번째 파트의 단계를 수행하여 정상적으로 실행되는지 확인합니다.

    OLEDB Database 드라이버를 포함한 MS Access 드라이버는 x86 플랫폼에서만 동작하며 x64 또는 AnyCPU 플랫폼에서는 호환성이 없다고 읽었습니다.하지만 이것은 사실이 아닌 것 같다.x86을 빌드할 때 응용 프로그램이 실행 중인지 확인한 후 수동 플래그를 사용하여 Access Database Engine을 설치했습니다.

    1. 먼저 파일을 로컬로 다운로드하세요.설치는 http://www.microsoft.com/en-us/download/details.aspx?id=13255 에서 다운로드 할 수 있습니다.
    2. 명령 프롬프트와 '/passive' 플래그를 사용하여 설치.명령 프롬프트에서 'AccessDatabaseEngine_x64.exe /passive' 명령을 실행합니다.

    이 2단계 후 x64 또는 AnyCPU 빌드 구성으로 빌드한 후 애플리케이션을 실행할 수 있었습니다.이것으로 문제가 해결된 것 같습니다.

주의: 순서의 차이가 있는 것 같으므로, 그 순서에 따라 주세요.

Visual Studio 2010에서 구성 관리자 대화 상자의 빌드를 "x86"에서 "모든 CPU"로 변경했을 때 이 오류/예외가 발생했습니다.제가 알기로는 이 OLEDB 데이터베이스 드라이버는 x86에서만 작동하며 64비트 호환이 되지 않습니다.빌드 구성을 다시 x86으로 변경하면 문제가 해결되었습니다.

MS 드라이버를 인스톨 해도, 아직 동작하지 않았다.그리고 나는 이 문제를 해결한 블로그 포스트를 발견했다.여기서 읽고, 그 투고로부터 링크된 다음의 2개의 이미지를 TLDR 요약으로 사용합니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

많은 답변이 있었지만, 제가 직면한 문제는 아직 언급되지 않았습니다.

  • 마이 시나리오: 64비트 애플리케이션, Win10-64, Office 2007 32비트 설치.
  • 32비트 Installer Access Database Engine 설치의 게시물 중 하나의 Powershell 스크립트에서 확인된 바와 같이 MS에서 다운로드한 exe는 성공했다고 보고되지만 설치되지 않았습니다.

  • 64비트 설치 관리자 AccessDatabaseEngine_X64.exe 설치 시 다음과 같은 충격적인 오류 메시지가 보고되었습니다.

여기에 이미지 설명 입력

매우 간단한 솔루션은 오토데스크 사이트에서 찾을 수 있습니다.다음과 같이 파라미터 /passive를 명령줄 문자열에 추가합니다.

Access Database Engine_X64.exe / passive

설치에 성공했습니다. OleDb 드라이버가 작동했습니다.

제가 OleDb로 처리하고 있는 Excel 파일은 xlsx 타입으로 EPplus 4.5로 제작되어 Excel 2007으로 수정되었습니다.

아직도 영향을 받고 있는 모든 사람들을 위해.

오류가 발생하고 있습니다.

OLEDB error "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine."

작전본부 샤일레쉬 사후가 설명했듯

64비트 Windows 7을 사용하고 있습니다.

문제는 PowerShell 스크립트에 있지만 OP의 투고와 유사한 연결 문자열을 사용하고 있기 때문에 조사 결과를 C#, PowerShell 및 "Microsoft"에 의존하는 다른 언어에 적용할 수 있기를 바랍니다.ACE.OLEDB" 드라이버.

이 MS 포럼 스레드(http://goo.gl/h73RmI)의 지시에 따릅니다.

먼저 64비트 버전을 설치한 후 32비트 버전의 Access Database Engine을 설치했습니다.이 페이지에서 exe를 참조해 주세요.

하지만 여전히 기쁨은 없다.

그런 다음 PowerShell에서 아래 코드를 실행했습니다(SQL Panda 사이트 http://goo.gl/A3Hu96)).

(New-Object system.data.oledb.oledbenumerator).GetElements() | select SOURCES_NAME, SOURCES_DESCRIPTION 

...이 결과를 얻을 수 있었습니다(간단하게 하기 위해 다른 데이터 소스를 삭제했습니다.

SOURCES_NAME              SOURCES_DESCRIPTION                                                                       
------------              -------------------                                                                       
Microsoft.ACE.OLEDB.15.0  Microsoft Office 15.0 Access Database Engine OLE DB Provider

보시다시피 마이크로소프트가 있습니다.ACE.OLEDB.15.0 (15) (Microsoft 이외).ACE.OLEDB.12.0 (12)

그래서 연결 스트링을 15로 수정했는데 작동했어요.

PowerShell의 간단한 스니펫을 사용하여 버전을 소프트 코드화하는 방법을 시연합니다.

$AceVersion = ((New-Object System.Data.OleDb.OleDbEnumerator).GetElements() | Where-Object { $_.SOURCES_NAME -like "Microsoft.ACE.OLEDB*" } | Sort-Object SOURCES_NAME -Descending | Select-Object -First 1 SOURCES_NAME).SOURCES_NAME

$connString = "Provider=$AceVersion;Data Source=`"$filepath`";Extended Properties=`"Excel 12.0 Xml;HDR=NO`";"

여러 ACE 버전이 있는 경우 최신 ACE 버전을 선택하도록 수정되었습니다.

이를 발견한 모든 사람이 이제 어떤 OLEDB 버전이 설치되어 있는지 확인하고 적절한 버전 번호를 사용할 수 있기를 바랍니다.

64비트를 사용하고 있는데 Access Database Engine을 설치해도 문제가 해결되지 않는 경우 이 게시물을 참조하십시오.이 게시물은 문제를 해결했습니다.

즉, 이 Access Database Engine을 설치해야 합니다.

사무실 설치의 비트에 따라 솔루션 플랫폼을 "모든 CPU"에서 "x86" 또는 "x64"로 변경해야 합니다.

순서는 다음과 같습니다.

  1. 솔루션 탐색기에서 솔루션 파일을 마우스 오른쪽 버튼으로 클릭합니다.

    1. Configuration Manager를 클릭합니다.
    2. [ Active Platform ]드롭다운을 클릭합니다.x86이 이미 표시되어 있는 경우는 그것을 선택하고, 그렇지 않은 경우는 [New]을 클릭합니다.여기에 이미지 설명 입력

    3. 새 플랫폼 드롭다운에서 x86 또는 x64를 선택합니다.

응용 프로그램을 컴파일하여 실행합니다.

다음 2단계를 수행합니다.

  1. 이 메뉴: 프로젝트 -> 프로젝트 속성...-> 빌드 : "32비트 우선" 체크박스를 꺼줍니다.
  2. in connectionString : 확장 속성 앞과 뒤에 큐오테를 씁니다. 확장 속성='Excel 12.0 Xml,HDR=YES'
var fileName = string.Format("{0}", openFileDialog1.FileName);
var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties='Excel 12.0 Xml;HDR=YES'", fileName);
var adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connectionString);
var ds = new DataSet();

adapter.Fill(ds, TableNmae);

DataTable data = ds.Tables[TableNmae];
dg1.DataSource = data;

이 문제를 해결하려면 다음 기사의 절차를 따릅니다.http://www.mikesdotnetting.com/article/280/solved-the-microsoft-ace-oledb-12-0-provider-is-not-registered-on-the-local-machine

제 요점은 다음과 같습니다.

IIS를 사용하여 디버깅할 때

기본적으로 Visual Studio는 32비트 버전을 사용합니다.Visual Studio에서 이 설정을 변경하려면 도구 > 옵션 > 프로젝트 및 솔루션 > 웹 프로젝트 > 일반으로 이동하고 다음을 선택합니다.

"웹 사이트 및 프로젝트에 64비트 버전의 IIS Express 사용"

이 옵션을 체크하고 프로젝트의 플랫폼 타깃을 "Any CPU"로 되돌린 후(트러블 슈팅 프로세스 중 어딘가에서 x86으로 설정) 오류를 극복할 수 있었습니다.

웹 프로젝트를 디버깅하는 경우 프로젝트 설정에 따라 IIS Express가 32비트 또는 64비트 중 하나로 실행되고 있는지 확인하십시오.

에 가다

[툴] > [옵션]> [프로젝트 및 솔루션]> [웹 프로젝트]

그 후 '64비트판 IIS Express 사용'을 켜거나 끄십시오..'

인스톨 되어 있는 「Access Database Engine」이 아직 기능하지 않는 경우는, 이하에 해결 방법을 나타냅니다.

Active Solution Platform을 "모든 CPU"에서 "x86"으로 변경해야 합니다.

OLEDB 공급자가 로컬 시스템에 등록되어 있지 않음

CodeProject.com 에서

먼저 시스템에 설치되어 있는 Microsoft.ace.oledb.12.0 버전을 확인합니다.

경로 C:\Program Files\Common Files\Microsoft Shared\를 체크 인 합니다.오피스 14\ACEOLEDBDLL --64비트가 설치되어 있습니다.

경로 C:\Program Files (x86)\Common Files\Microsoft Shared\ 를 체크 인 합니다.오피스 14\ACEOLEDBDLL --x86 비트가 설치되어 있습니다.

(x86)이 설치되어 있는 경우 구성 관리자를 사용하여 솔루션 플랫폼을 x86으로 변경하고 x64를 x64로 변경합니다.

사용할 수 없는 경우는, 다음의 링크를 사용해 인스톨 합니다.

https://www.microsoft.com/en-us/download/details.aspx?id=23734

「Microsoft Access Database Engine 2010 재배포 가능」의 64비트 버전입니다.Microsoft 를 사용할 수 있습니다.ACE.OLEDB.12.0' 프로바이더는 http://www.microsoft.com/en-us/download/details.aspx?id=13255 에서 입수할 수 있습니다.

VS 2012 이후를 사용하는 경우 프로젝트의 속성 = > 빌드 = > 일반 구성에서 "32비트 선호" 확인란이 선택 해제되어 있는지 확인하십시오.

syp_module,

Microsoft」의 제안대로의 솔루션.ACE.OLEDB.12.0' 프로바이더가 로컬 머신에 등록되어 있지 않습니다.에러가 발생하면 Active Solution Platform이 "Any CPU"에서 "x86"으로 변경됩니다.

이러한 순서를 실행해, 솔루션을 재구축해 EXE를 취득해 네트워크에 접속하면, Windows 7 64 비트 머신에서는 모든 것이 정상적으로 동작했습니다.

나는 이 같은 문제에 직면했다.솔루션 속성으로 이동하여 CPU를 x86으로 변경하면 됩니다.

이러한 구성은 2020년 1월에 새로운 기계 구축에 적용되었습니다.

(1 - x64만 해당) Windows 10 x64, Office 365 x64, AccessDatabaseEngine_x64 2016이 /disc 인수와 함께 설치되고 VStudio 빌드 설정이 x64로 명시적으로 설정되며 연결 문자열이 다음과 같습니다. Provider= Microsoft.ACE.OLEDB.16.0, 데이터 소스=D:...\MyDatabase.accdb

(2 - x64 또는 x32) Windows 10 x64, Office 365 x64, AccessDatabaseEngine_x64 2016이 /syslog 인수를 사용하여 설치됨, PLUS AccessDatabaseEngine 2010(32비트)이 /sys 인수를 사용하여 설치됨, VStudio 빌드 설정이 AnyCPU로 설정됨(Provider= Microsoft).ACE.OLEDB.16.0, 데이터 소스=D:...\MyDatabase.accdb

(3 - x32만 해당) Windows 10 x64, Office 365 x32, AccessDatabaseEngine 2010(32bit)에 /syslog 인수를 설치하고 VStudio 빌드 설정을 x86으로 설정하고 연결 문자열 Provider= Microsoft.ACE.OLEDB.12.0, 데이터 소스=D:...\MyDatabase.accdb

실패에 관한 주의사항

ACE 사용.연결 문자열의 OLEDB.12.0 x64 공급자가 (1)과 같이 AccessDatabaseEngine_x64 2016만 설치된 상태에서 실패했습니다.

(1)에서 Visual Studio 빌드 설정에서 AnyCPU를 사용하지 못했습니다.x64 의 설정이 필요합니다.AnyCPU는 vstudio가 x32 ACE를 인식해야 함을 의미하기 때문일 수 있습니다.컴파일 시 OLEDB.nn.0 공급자.

ACE.OLEDB.12.0 2016 x32 /passive 엔진은 x64 어플리케이션을 둘러봐도 설치되지 않습니다.(ACE.OLEDB.12.0 2010 x32 /passive instra가 동작했습니다.)

결론들

x64 빌드 설정을 사용하려면 2016 x64 데이터베이스 엔진과 ACE가 필요합니다.2020년 1월 Office 365에서 작동하기 위한 OLEDB.16.0 연결 문자열 공급자 및 명시적인 x64 빌드 설정./passive 옵션을 사용하면 설치가 쉬워집니다.그 팁을 올린 사람은 칭찬받을만해!

AnyCPU를 사용하기 위해서는 양쪽 ACE가 모두 필요합니다.OLEDB.12.0 2010 x32 엔진 및 ACE.OLEDB.16.0 x64 엔진이 장착되어 있습니다.이렇게 하면 Vstudio는 "AnyCPU" 컴파일 시 x32 및 x64 엔진을 모두 볼 수 있습니다.프로바이더 접속 스트링을 ACE로 변경할 수 있습니다.OLEDB.12.0(x32 동작용 또는 ACE용).x64 동작용 OLEDB.16.0.둘 다 잘 작동했다.

x86 빌드 설정을 사용하려면 2010 x32 데이터베이스 엔진과 ACE가 필요합니다.2020년 1월 Office 365 x 32에서 작동하기 위한 OLEDB.12.0 연결 문자열 공급자 및 명시적 x86 빌드 설정.

나는 우리가 엑셀 파일을 읽을 때 비슷한 문제가 있다.

문제의 이력:

최근 메모리 요건 때문에 애플리케이션을 32비트에서 64비트로 이행했습니다.이를 위해 Windows 7을 32비트에서 64비트로 이행했습니다.그래도 32비트 오피스를 컴퓨터에 설치했습니다.

이 때문에 Excel 데이터를 어플리케이션으로 Import 할 때 이 문제가 발생했기 때문입니다.

솔루션,

http://www.microsoft.com/en-us/download/details.aspx?id=13255의 64비트 버전을 다운로드하여 다음과 같은 인수를 사용하여 설치했습니다.

Access Database Engine_x64.exe / passive

코드 변경 없이 문제가 해결되었습니다.

주의:

64비트 OS 및 64비트 오피스에서는 이 수정 없이 정상적으로 기능하고 있었습니다.이 수정이 필요한 것은 32비트 오피스가 설치되어 있는64비트 OS 상에서 어플리케이션이 64비트를 실행하고 있는 경우 뿐입니다.

SSMS 2014를 사용하여 Excel 파일(xlsx)에서 SQL Server DB로 데이터를 Import하려고 할 때 이 문제가 발생하였습니다.

2007 Office System Driver: Data Connectivity Components 설치로 충분히 효과를 볼 수 있었습니다.

Excel 파일에서 MS-SQL로 데이터를 Import할 때 이 오류가 발생하였습니다.프로바이더는 이미 설치되어 있는데(64비트) 동작하지 않는 이유에 놀랐습니다.그래서 여기서 사용한 Import/Export 어플리케이션(예:)을 검색하기만 하면,EXE. 그리고 내가 찾은 건

C:\Program Files\Microsoft SQL Server\130\DTS\Binn\DTSWizard.실행

그런 다음 직접 .exe를 실행하여 데이터 Import를 수행합니다.그리고 그게 효과가 있었어!

이 패치를 인스톨 해, Microsoft Access Database Engine 2010 을 인스톨 하는 등, 다른 유저의 지시에 따릅니다.

문제는 2개의 사이트에서 같은 라이브러리(linq2sql)를 사용하고 있다는 것입니다.1개는 동작하고 1개는 동작하지 않습니다.

결국 작동하지 않는 사이트의 앱풀 상세 설정에서 32비트 애플리케이션을 활성화해야 한다는 것을 알게 되었습니다.

이제 모든 것이 잘 작동한다.

다음 Access DB 엔진(X86 또는 X64: 머신 구성에 따라)을 다운로드하여 설치하면 매직이 나타납니다.

https://www.microsoft.com/en-us/download/confirmation.aspx?id=13255

ASP에서 ACE를 사용하려고 할 때 이 에러가 발생했을 경우.NET 어플리케이션의 가장 큰 원인은 32비트버전의 어느쪽인가를 인스톨 하고 있는 것입니다.기본적으로 64비트 운영 체제의 IIS는 64비트 작업자 프로세스에서 응용 프로그램을 실행합니다. 64비트 프로세스는 32비트 DLL을 로드할 수 없습니다.ACE 프로바이더에 콜이 발신되면 64비트프로세스는 64비트 DLL을 검색합니다.존재하지 않는 경우는, 에러 메세지가 표시됩니다.

이 경우 두 가지 옵션이 있습니다.먼저 2010 64비트 버전을 설치할 수 있습니다.2007 32비트 버전이 설치되어 있는 경우 2010 64비트 버전을 함께 설치할 수 있습니다.32비트 버전의 2010이 설치되어 있는 경우 이를 제거하고 대신 64비트 2010 버전을 다운로드하여 설치해야 합니다.2010 공급자의 32비트 버전과 64비트 버전을 동시에 설치할 수 없습니다.개발 머신으로 인스톨을 실행하고 있는 경우는, 기존의 Office 인스톨의 비트수에 의해서도 제약을 받을 수 있습니다.

두 번째 옵션은 IIS에서 응용 프로그램 풀을 변경하여 32비트 응용 프로그램을 실행하는 것입니다.풀 버전의 IIS 를 사용하고 있는 경우는, 관리 툴을 사용해 이것을 실행할 수 있습니다([컨트롤 패널(Control Panel)]> [관리도구(Administrative Tools)]> [인터넷 정보 서비스(IIS) 매니저(Internet Information Services (IIS) Manager).

자세한 내용은 아래 링크를 참조하십시오.

Visual Studio 2022(및 그 이후)의 경우

매번 이런 오류가 발생했는데 아무런 도움이 되지 않았어요.VS2019가 해결책이었습니다.

https://learn.microsoft.com/en-us/visualstudio/data-tools/accessing-data-in-visual-studio?view=vs-2022#data-providers

Visual Studio 2022를 사용하여 데이터베이스에 연결하는 경우 Visual Studio 2022는 64비트 프로세스입니다.즉, Visual Studio의 일부 데이터 도구는 32비트 데이터 공급자를 사용하여 OLEDB 또는 ODBC 데이터베이스에 연결할 수 없습니다.

OLEDB 또는 ODBC 데이터베이스에 연결하는 32비트 응용 프로그램을 유지해야 하는 경우에도 Visual Studio 2022를 사용하여 응용 프로그램을 빌드하고 실행할 수 있습니다.그러나 Server Explorer, Data Source Wizard 또는 DataSet Designer와 같은 Visual Studio 데이터 도구를 사용해야 하는 경우에는 여전히 32비트 프로세스인 이전 버전의 Visual Studio를 사용해야 합니다.32비트 프로세스였던 Visual Studio의 마지막 버전은 Visual Studio 2019였습니다.

또, 이러한 스텝을 시험할 수도 있습니다.

SQL Server에서는 1.데이터베이스 2를 1개 엽니다.'Server Obtect' 3 옵션의 Clic.Linked Servers' 4의 Clic.'프로바이더' 5의 진부한 표현.Microsoft의 Clic Rigth.ACE.OLEDB.12.0' 6모든 옵션을 끄고 닫습니다.

저도 같은 문제가 있었습니다만, 이 경우는 microsoft-ace-oledb-12-0 프로바이더가 이미 제 머신에 설치되어 있고, 다른 어플리케이션도 정상적으로 동작하고 있습니다.

이러한 어플리케이션과 문제가 있는 어플리케이션의 차이점은 오래된 어플리케이션은 "로컬 IIS"에서 실행되고 있는 반면 오류가 있는 어플리케이션은 " "에서 실행되고 있다는 것입니다.IIS Express(Visual Studio에서 실행).그래서 내가 한 일은...

  1. [ Project Name ]를 오른쪽 클릭합니다.
  2. 속성으로 이동
  3. 오른쪽의 웹 탭으로 이동합니다.
  4. Servers 아래에서 Local IIS를 선택하고 Create Virtual Directory 버튼을 클릭합니다.
  5. 애플리케이션을 재실행하면 동작합니다.

컴퓨터에 Microsoft Access Database Engine 2010 Redistributable이 이미 설치되어 있지만 Microsoft ACE OLEDB Provider 오류가 아직 발생하고 있습니다.

그리고 얼마 전에 Office 2016으로 업그레이드했으므로 Microsoft Access Database Engine 2010 Redistributable 재인스톨을 시도해 보는 것이 좋을지도 모릅니다.그리고 그것이 내 기계의 문제를 해결했다.

따라서 다른 버전의 MS Office로 업그레이드한 경우 또는 MS Office를 복구/재설치한 경우 Microsoft Access Database Engine 2010 Redistributable을 재설치한 후 다른 수정 프로그램을 찾는 데 시간을 낭비하십시오.행운을 빕니다.

1) ConnectionStrings.com 와의 접속 스트링을 확인합니다.

2) 올바른 데이터베이스 엔진이 설치되어 있는지 확인합니다.이 두 가지 데이터베이스 엔진이 도움이 되었습니다.

Microsoft Access Database Engine 2010 재배포 가능

2007년 Office System Driver: 데이터 연결 컴포넌트

3) 빌드 타깃 플랫폼이 "모든 CPU"인 경우 "X86"(프로퍼티, 빌드, 플랫폼 타깃)이어야 합니다.

언급URL : https://stackoverflow.com/questions/6649363/microsoft-ace-oledb-12-0-provider-is-not-registered-on-the-local-machine

반응형