[support] Dynamic remote database access

Michael Prasuhn mike at mikeyp.net
Mon Jul 11 19:28:47 UTC 2011


1) I don't see a reply to Mr. Metzler.

2) What we've said to you is 100% accurate. Unless you try to query the 
site (which you're already said you only do on cron), Drupal will ignore 
the extra db connection string, and your site will be fine. $db_url is 
just a global variable that holds configuration.

3) If it's really such a big deal then do something like this:

<?php

// Oh I need to connect to another DB
global $db_url;
$cur_db = $db_url;
$db_url = array('default' => $cur_db, 'another_db' => 
'mysqli://user:pass@host/dbname');
db_set_active('another_db');
$result = db_query('SELECT * FROM table');
db_set_active();

//....process $result

-Mike


Ms. Nancy Wichmann wrote:
> Not true -- see my reply to Mr. Metzler.
> /*Nancy*/
> Injustice anywhere is a threat to justice everywhere. -- Dr. Martin L.
> King, Jr.
>
>     *From:* Michael Prasuhn <mike at mikeyp.net>
>     *To:* support at drupal.org; Ms. Nancy Wichmann <nan_wich at bellsouth.net>
>     *Sent:* Monday, July 11, 2011 3:02 PM
>     *Subject:* Re: [support] Dynamic remote database access
>
>     Drupal 6 is pretty much going to ignore any additional (non-default)
>     connections specified, if $db_url is an array(), unless you try to
>     connect. No problem putting the connection string there and using
>     only when you need it. This is even true for DBTNG backport module,
>     although it has other ways of setting up connections after Drupal
>     has boostrapped.
>
>     -Mike
>
>
>     Ms. Nancy Wichmann wrote:
>      > No, the $db_url method simply will not work because we cannot
>     guarantee
>      > that the remote will always be accessible. If it's not, there is no
>      > reason why our site should not be. Once in a while (cron), we
>     need to go
>      > get some data from that database; if it's not available at that
>     time, we
>      > will merely log the error and try later.
>      > /*Nancy*/
>      > Injustice anywhere is a threat to justice everywhere. -- Dr.
>     Martin L.
>      > King, Jr.
>      >
>      > *From:* Fred Jones
>      >
>      > Not clear what the question is. does this help:
>      > http://drupal.org/node/18429
>      >
>      > On Mon, Jul 11, 2011 at 9:35 PM, Ms. Nancy Wichmann wrote:
>      > > I know that the "standard" way to access another database is to
>      > include it
>      > > in $db_url in the settigs.php file. This has the undesireable
>      > effect that
>      > > the remote database must be available all the time. In my case,
>      > we only need
>      > > to access the remote DB a few times a week via a cron job, where
>      > much better
>      > > error handling is available. I haven't yet found a way (I'm still
>      > searching
>      > > DO) to do this. Does anyone have any good ideas? This is Drupal 6
>      > - don't
>      > > bother suggesting an upgrade. Replication is probably not an
>      > option because
>      > > we shouldn't have access to, nor need, everything in the remote DB.
>      >
>
>     -- __________________
>     Michael Prasuhn
>     503.512.0822 office
>     mike at mikeyp.net <mailto:mike at mikeyp.net>
>     http://mikeyp.net
>
>

-- 
__________________
Michael Prasuhn
503.512.0822 office
mike at mikeyp.net
http://mikeyp.net


More information about the support mailing list