[SQL] 연결된 서버는 null OLE DB 제공자 Microsoft.Jet.OLEDB.4.0의 인스턴스를 만들 수 없습니다
SQL연결된 서버는 null OLE DB 제공자 Microsoft.Jet.OLEDB.4.0의 인스턴스를 만들 수 없습니다
나는 T-SQL 쿼리를 통해 Excel로 내 테이블 데이터에서 수입하려면 노력하고 있어요. 약간의 연구 후 나는이 함께했다
INSERT INTO OPENROWSET ('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=G:\Test.xls;',
'SELECT * FROM [Sheet1$]')
SELECT *
FROM dbo.products
나는이 오류가 위의 쿼리 오전를 실행하면
그래서 솔루션을 인터넷을 통해 갔다, 링크 아래에있어
https://blogs.msdn.microsoft.com/spike/2008/07/23/ole-db-provider-microsoft-jet-oledb-4-0-for-linked-server-null-returned-message-unspecified-error/
OPENROWSET은 TEMP 폴더 내부의 파일이나 폴더를 생성하기 때문에 위의 링크에서 그들은 우리가해야처럼 관리자가 C 드라이브 TEMP 폴더에 폴더를 만들라고했다
나는 내 홈 PC에이 일을하고 있는데 관리자입니다. 여전히 같은 오류를 얻고있다.
SQL 서버에 대한 자세한 내용은
이 문제를 해결하려면 모든 포인터는 높게 평가 될 것이다
업데이트 : 이미 내가 쿼리 분산 특별 구성하고
쿼리 아래의 실행
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.Jet.OLEDB.4.0', N'AllowInProcess', 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.Jet.OLEDB.4.0', N'DynamicParameters', 1
GO
지금이 오류를 얻고있다
해결법
-
==============================
1.난 당신이 특정 버전으로 조정해야 할 수도 있습니다, 그래서 이것은 매우 몹시 신경을 쓰는 것 같다 MS SQL 서버 2012 및 Office 2013이있다.
난 당신이 특정 버전으로 조정해야 할 수도 있습니다, 그래서 이것은 매우 몹시 신경을 쓰는 것 같다 MS SQL 서버 2012 및 Office 2013이있다.
여기에 SP_CONFIGURE 명령입니다 :
SP_CONFIGURE 'show advanced options', 1; GO RECONFIGURE; SP_CONFIGURE 'Ad Hoc Distributed Queries', 1; GO RECONFIGURE; EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1 EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParam', 1
새로운 SQL 서버 2014 대신 'DynamicParam'사용 'DynamicParameters'을했다
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
이 같은 msexcl40.dll를 등록해야합니다 :
regsvr32 C:\Windows\SysWOW64\msexcl40.dll
-
==============================
2.sp_configure를 재설정 / 체크 아웃 ...
sp_configure를 재설정 / 체크 아웃 ...
sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'Ad Hoc Distributed Queries', 1; GO RECONFIGURE; GO
추가 정보를 원하시면 다음 링크를 참조하십시오 :
https://technet.microsoft.com/en-us/library/aa259616(v=sql.80).aspx
http://blog.sqlauthority.com/2010/11/03/sql-server-fix-error-ms-jet-oledb-4-0-cannot-be-used-for-distributed-queries-because-the-provider-is-used-to-run-in-apartment-mode/
-
==============================
3.작품! 큰 감사합니다. 그냥 64 비트 윈 서버 2012R2합니다. 나 전체 작업 스크립트가 부분적으로있는 위의 비트를 반복 넣어 함께 결합 (내게로) 쉽지 않다 보자 :
작품! 큰 감사합니다. 그냥 64 비트 윈 서버 2012R2합니다. 나 전체 작업 스크립트가 부분적으로있는 위의 비트를 반복 넣어 함께 결합 (내게로) 쉽지 않다 보자 :
1) Windows 용 Microsoft.ACE.OLEDB.12.0 다운로드, 64 비트 버전은 여기에서 찾을 : https://www.microsoft.com/en-us/download/details.aspx?id=13255
2))이 경우 각각의 열 (이름과 클래스 엑셀 파일을 만듭니다.
3) 실행 코드 아래 :
sp_configure 'show advanced options', 1; RECONFIGURE; GO sp_configure 'Ad Hoc Distributed Queries', 1; RECONFIGURE; GO /* -- Not sure commented bits are necessary but I also have run them EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.Jet.OLEDB.4.0', N'AllowInProcess', 1 GO EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.Jet.OLEDB.4.0', N'DynamicParameters', 1 GO -- below two lines failed with: Msg 2787, Level 16, State 1, Procedure sp_MSset_oledb_prop, Line 106 Invalid format specification: '%1!.'. EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1 EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParam', 1 -- but works all two as below: EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1 EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1 -- Succeded to run after success with Excel so does not looks like necessary */ INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=C:\testing.xlsx;', 'SELECT Name, Class FROM [Sheet1$]') SELECT [Name],[Class] FROM Qry_2 GO
-
==============================
4.이 문제를 해결하기 위해 아래 쿼리를 실행하십시오 :
이 문제를 해결하기 위해 아래 쿼리를 실행하십시오 :
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.Jet.OLEDB.4.0', N'AllowInProcess', 1 GO EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.Jet.OLEDB.4.0', N'DynamicParameters', 1 GO
from https://stackoverflow.com/questions/36987636/cannot-create-an-instance-of-ole-db-provider-microsoft-jet-oledb-4-0-for-linked by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 스칼라 변수를 선언해야합니다 (0) | 2020.05.09 |
---|---|
[SQL] 또는 NULL에 절 IS NULL (0) | 2020.05.09 |
[SQL] SQL 서버는 두 날짜 사이의 전체 일 받기 (0) | 2020.05.09 |
[SQL] 이 열에 고유 한 값을 선택 MYSQL (0) | 2020.05.09 |
[SQL] SQL 집계 함수를 WHERE 절 (0) | 2020.05.09 |