Drupal 7 theme('pager') -> PDOException: SQLSTATE[42S02]: Base table or view not found first time i have asked for help on a forum for a very long time. Normally find what i need by viewing other posts... Well i'm really confused so need help.

I am trying to use theme('pager') in Drupal 7 to have pagination for my table results i get from a db_select query.

The below query produces an error when i include the line:

$output .= theme('pager');

If i leave this line out i get the expected limited 5 results from my table.

My code:

// Set external databse
db_set_active('nondrupal');

// build query to get desired results
$query = db_select('diary', 'n')
-&gt;fields('n', array('photo_id', 'photo'))
-&gt;orderBy('photo_id', 'DESC');

//Create a new object from extend. The reason for this is that extend() creates a 
new object which wraps the current object (Decorator pattern).
$query = $query-&gt;extend('PagerDefault')-&gt;limit(5);

// Execute query and add to array
$result = $query-&gt;execute();

// empty output var
$output = NULL;

// Loop through results and output each row for chosen columns
foreach($result as $row) {
$output .= $row-&gt;photo_id.': '.$row-&gt;photo.'&lt;br /&gt;';
}

// Show pagination in output
$output .= theme('pager');

// echo output to screen
echo $output;    

// Set db connection back to default (drupal)
db_set_active();


The page renders fine without the theme('pager') line.

With it i get an error:

Additional uncaught exception thrown while handling exception.
Original

PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table  
&amp;#039;dbMYDATABASENAME.semaphore&amp;#039; doesn&amp;#039;t exist: SELECT expire, 
value FROM {semaphore} WHERE name = :name; Array ( [:name] =&amp;gt; 
theme_registry:runtime:garland:cache ) in lock_may_be_available() (line 167 
of /homepages/28/d228752694/htdocs/drupal7/includes/lock.inc).


Base table or view not found seems to be the key but i cannot see why including the    theme function causes this error. I have a basic Drupal 7 install.

Your help is appreciated!

Madmilner
The error is down to the:

// Show pagination in output 
$output .= theme('pager'); 
// echo output to screen 
echo $output; 


being above db_set_active();

Not sure why this is but it fixes the problem.

Thanks