title: Error querying "Microsoft.ACE.OLEDB.12.0" provider from SQL Server
body: <p>This is not a question, but this post may be useful for community because I could not find the answer on the Internet.</p>
  <p><strong>Tested on</strong></p>
  <ul>
  <li>Windows 2008 R2 x64 and Windows 2003 x64</li>
  <li>SQL Server 2008 SP3 x64</li>
  <li>Provider Microsoft.ACE.OLEDB.12.0 x64</li>
  </ul>
  <p>SQL Server is running under domain account that is not admin of local machine.
  SQL Server connection authentication is Windows.</p>
  <p>The issue is:</p>
  <p>when creating and using a linked server or adhoc querying using this provider, you may receive errors like these:</p>
  <blockquote>
  <p>OLE DB provider &quot;MSDASQL&quot; for linked server &quot;xxx&quot; returned message &quot;[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed&quot;</p>
  <p>OLE DB provider &quot;MSDASQL&quot; for linked server &quot;xxx&quot; returned message &quot;[Microsoft][ODBC dBASE Driver] Your network access was interrupted. To continue, close the database, and then open it again.</p>
  <p>Cannot initialize the data source object of OLE DB provider &quot;MSDASQL&quot; for linked server &quot;xxx&quot;</p>
  <p>Could not find installable ISAM</p>
  <p>OLE DB provider &quot;MSDASQL&quot; for linked server &quot;xxx&quot; returned message &quot;[Microsoft][ODBC dBASE Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for process 0x16f4 Thread 0x2728 DBC 0x1ce64ae8 Xbase'</p>
  </blockquote>
  <p>The reason is that the provider creates a temporary file in SQL Server's domain account's temporary folder, using user connect's credentials. Ordinary users does not have such permissions.</p>