title: ODBC Call Failed - Error 3151
body: <p>We have an Access database migrated from Access 97 to Acces 2007 with some linked tables to an SQL Server 2008 database. 
  We are using a File DSN in the ODBC Administrator. Connection tests work fine there. In fact, we have a main form in the Access 2007 application that shows the data always correctly. </p>
  
  <p>The problem appears when we execute a task that makes the following call:</p>
  
  <p><code>Dim dbs As Database<br>
   Dim rstAppend As Recordset<br>
   Set dbs = CurrentDb<br>
   Set rstAppend = dbs.OpenRecordset(strAccessTable, dbOpenDynaset, dbSeeChanges)</code></p>
  
  <p>OpenRecordset throws the error number 3151 and occurs randomly but it appears quite frequently. It's sporadic. When we don't get the error, the task works fine.</p>
  
  <ol>
  <li>It not happens always, mostly we're fine.</li>
  <li>When it happens it happens for all subsequent tasks tried. We have to close and reopen the Access database and pray to the good Lord that it works.</li>
  <li>Sometimes, refreshing the tables in the Linked Table Manager solves the problem, but others don't.</li>
  <li>We receive sometimes an error "ODBC--Call Failed" when refreshing the Linked Table Manager. Deleting the File DSN and creating a new one solves the problem.</li>
  <li>We have tried with two different drivers (SQL Server and SQL Server Native Client 10) and in both cases the problem remains.</li>
  <li>Also we have tried to put the Access File in the same machine than the SQL Server and the problem remains.</li>
  <li>We have increased the ODBC Timeout for all the querys from 60 to 180 seconds,but the problem still remains.</li>
  <li>We don't have to wait to see the error, it appears in less than one second after executing the task.</li>
  </ol>
  
  <p>We would be very happy if someone could help us to find a solution to this problem.</p>