Error 7399 Ole Db Provider Microsoft.jet.oledb.4.0
caused by something not that complex. As the case always is once you have the solution. So I thought I would share some of the things that I've come across, and hopefully tha Msg 7399 - The OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "
19, 201022 0 0 0 When setting up linked server to third-party Databases, it is recommended to run the third-party provider in out-of-process mode, because when the provider is run in-process (within the same process as SQL Server), then any issues with the provider can affect SQL Server process which could also result in crashing SQL server.
To how to set a provider to run out-of-process, uncheck "Allow In Process" property of the provider: There are certain https://blogs.msdn.microsoft.com/spike/2009/05/08/msg-7399-the-ole-db-provider-microsoft-jet-oledb-4-0-for-linked-server-linked-server-reported-an-error-authentication-failed/ permissions that have to be set on MSDAINITIALIZE to be able to initialize the provider out-of-process and run linked server queries successfully locally and remotely. MSDAINITIALIZE is a COM class that is provided by OLE DB. This class can parse OLE DB connection strings and load/initialize the provider based on property values in the connection string. https://blogs.msdn.microsoft.com/dataaccesstechnologies/2010/08/19/permissions-needed-to-set-up-linked-server-with-out-of-process-provider/ MSDAINITILIAZE is initiated by users connected to SQL Server. If windows authentication is used to connect to SQL Server, then the provider is initialized under the logged in user account. If the logged in user is a SQL login, then provider is initialized under SQL Server service account. Based on the type of login used, permissions on MSDAINITIALIZE have to be provided accordingly. When these permissions are not set for the logged in users, we get Access Denied errors as below: Msg 7399, Level 16, State 1, Line 1 The OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" reported an error. Access denied. Msg 7301, Level 16, State 2, Line 1 Cannot obtain the required interface ("IID_IDBCreateCommand") from OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)". Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum) An exception has occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo) The OLEDB Prov(Русский)ישראל (עברית)المملكة العربية السعودية (العربية)ไทย (ไทย)대한민국 (한국어)中华人民共和国 (中文)台灣 (中文)日本 (日本語) HomeLibraryLearnDownloadsTroubleshootingCommunityForums Ask a question Quick access Forums home Browse forums users FAQ Search related threads Remove From My Forums Asked by: Linked Server using Microsoft.Jet.OLEDB.4.0 problem SQL Server > SQL https://social.msdn.microsoft.com/Forums/sqlserver/en-US/83300532-e780-4ac6-9a64-7246e58c253a/linked-server-using-microsoftjetoledb40-problem?forum=sqldatabaseengine Server Database Engine Question 0 Sign in to vote Hi all, I'm http://www.sqlservercentral.com/Forums/Topic99909-9-1.aspx using following code to create linked server and then access data EXEC sp_addlinkedserver N'XLS',
'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0', 'C:\Data\Produkthierachie.xls', NULL, 'Excel 5.0;' EXEC sp_addlinkedsrvlogin N'XLS', FALSE, NULL, Admin, NULL SELECT * FROM XLS...SWProdukthierachie$ When executing the select statement I get following error message OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "XLS" returned error 7399 message "Unspecified error". Msg 7303, Level 16, State 1, Line 1 Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "XLS". Strange is that when I run this code on dev machine it works fine. But when I try to execute it on my second (pilot) machine it ends with the error message posted. I'm not a admin on error 7399 ole the pilot machine so I don't know it's exact configuration but I'm beeing assured that the only difference is that on pilot machine there is no Visual Studio installed. I'm running SQL Server 2005 9.0.1399. Could anyone give me some hints? Thx fleshi Thursday, February 09, 2006 10:30 AM Reply | Quote All replies 1 Sign in to vote I've seen a couple of fixes for this. The one that saved me was granting update file system permissions to the temp directory for the sql service login to whoever needed to access that linked server: C:\Documents and Settings\(sql login name)\Local Settings\Temp. Good luck! Thursday, October 04, 2007 12:12 AM Reply | Quote 1 Sign in to vote I found one other thing that helped when this error message mysteriously returned, I configured MS DTC to allow remote transactions. From Administrative Tools, select Component Services. Expand Component Services until you find the SQL Server. RIght click on the SQL Server and select Properties. Click on the MS DTC Tab and select Security Configuration. Check the "Network DTC Access" box & "Allow OutbounRecent PostsRecent Posts Popular TopicsPopular Topics Home Search Members Calendar Who's On Home » SQL Server 7,2000 » General » Error 7399 OLE DB provider... Error 7399 OLE DB provider microsoft.jet...... Rate Topic Display Mode Topic Options Author Message Brandon_GreenBrandon_Green Posted Wednesday, February 11, 2004 2:20 PM Grasshopper Group: General Forum Members Last Login: Thursday, July 29, 2004 12:40 PM Points: 20, Visits: 1 When we do a linked server in SQL 2000 to a MS Access 2000 DB it works fine. But when we try from a different SQL 2000 server we get using the same account...Error 7399: OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error.OLE DB Error trace {OLE?DB Provider "microsoft.Jet.OLEDB>4.0'IDBInitialize::Initialize returned 0x80004005Any sugestions as we have been trying everything to get this to work. Could there be a .dll that is different causing this to fail?Brandon Post #99909 johnsonjjohnsonj Posted Wednesday, February 11, 2004 2:33 PM Mr or Mrs. 500 Group: General Forum Members Last Login: Tuesday, June 19, 2007 9:17 AM Points: 559, Visits: 1 Hi Brandon,80004005 is one of those "generic" type errors; it really doesn't tell you a lot. Most of the times that I have gotten this is because someone has the Access DB open in single user mode.Other problems I have seen have been related to security (permissions to the file).Hope this helps some,Joe Joe JohnsonNETDIO,LLC. Post #99912 Brandon_GreenBrandon_Green Posted Wednesday, February 11, 2004 4:23 PM Grasshopper Group: General Forum Members Last Login: Thursday, July 29, 2004 12:40 PM Points: 20, Visits: 1 Permissions are fine... I just don't understand how under one SQL server I can access the Link server and through a different server I can't. Post #99923 robertkrobertk Posted Thursday, February 12, 2004 11:30 AM SSC-Enthusiastic Group: General Forum Members Last Login: Tuesday, May 10, 2011 11:04 AM Points: 124, Visits: 10 Oh, it's something my network admin and I are going to start working through. It's a problem with something called "double hop" authentication. What this means is that your sercurity is passed just fine between you and the sql server. when you get a linked database involved on another server, that means your security needs to be passed from you, to the server, and from the server to the linked access database. I'm not sure if this is a default configuration or not, but my network won't currently allow me to delegate security this way. In my many hours of searching this week / last week, I've come across some articles that may help:http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/k