SQL SERVER 2008 64 비트 시스템 에서 ACCESS/EXCEL 을 가 져 올 수 없 으 면 어떻게 합 니까?

운영 체제 Windows Server 2008 X64,데이터베이스 SQL Server 2008 X64,Office 2007(32 비트 인 것 같 음)저장 과정 에서 OpenDatasource 가 Access 데 이 터 를 가 져 올 때 문제 가 발생 했 습 니 다.Oledb 4.0 은 지원 되 지 않 습 니 다.다음은 몇 가지 오류 알림 입 니 다.
OLE DB 액세스 인터페이스'Microsoft.Jet.OLEDB.4.0'이 단일 스 레 드 유닛 모드 에서 실행 되도록 설정 되 어 있 기 때문에 이 액세스 인 터 페 이 스 는 분산 조회 에 사용 할 수 없습니다.
서버'(null)'를 연결 하 는 OLE DB 액세스 인터페이스'Microsoft.ace.OLEDB.12.0'의 인 스 턴 스 를 만 들 수 없습니다.
OLE DB 액세스 인터페이스'Microsoft.ace.OLEDB.12.0'이 단일 스 레 드 유닛 모드 에서 실행 되도록 설정 되 어 있 기 때문에 이 액세스 인 터 페 이 스 는 분포 식 조회 에 사용 할 수 없습니다.
솔 루 션 은 Office 2010 64 비트 버 전 을 설치 하고 인터넷 에 다운로드 가 많은 다음 에 Microsoft Access Database Engine 2010 의 X64 버 전 을 다운로드 하 는 것 이다.인터넷 에 도 다운로드 가 있 는데 둘 중 하나 가 없어 서 는 안 된다.
그리고 OpenDatasource 인 자 를 바 꾸 고 Microsoft.Jet.OLEDB.4.0 을 Microsoft.ACE.OLEDB.12.0 으로 바 꾸 어 큰 성 과 를 거 두 었 습 니 다.
저장 프로시저 부분 코드 붙 이기:

--      
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--        ACE.OLEDB.12
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
--      
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
--      
exec ('insert into jihua(id,[   ],Right('''+ @filepath +''',charindex(''\'',REVERSE('''+ @filepath +'''))-1),getdate() FROM OPENDATASOURCE (''Microsoft.ACE.OLEDB.12.0'', ''Data Source='+@filepath+';User ID=Admin;Password='' )...     ')
--    ,         ,         
exec sp_configure'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure'show advanced options',0
reconfigure
--  ACE.OLEDB.12   
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 0
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 0
이상 의 내용 은 제 개인 적 인 견해 일 뿐 입 니 다.해결 방법 은 상기 에서 말 한 것 이 아니 라 여러분 들 이 자신의 의견 을 많이 공유 하고 학습 진 보 를 함께 교류 하 시기 바 랍 니 다.SQL SERVER 2008 64 비트 시스템 이 ACCESS/EXCEL 을 가 져 올 수 없 는 솔 루 션 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기