remote db connection
Tim Golden
tim.golden at viacom-outdoor.co.uk
Wed Dec 4 08:23:24 EST 2002
I've used this (using Pyro, in case it wasn't obvious). The sql module is a
lightweight wrapper round several databases I use here; I'm happy to send it
to you if it helps, but it's really just the same as your database fetchall
code. (I hope the code doesn't get too mangled in the process).
<code>
import os, sys
import socket
import Pyro
import Pyro.core
import Pyro.naming
import sql
class database_connector (Pyro.core.ObjBase):
def __init__ (self):
Pyro.core.ObjBase.__init__ (self)
def connect (self, database_name):
self.getLocalStorage ().database_name = database_name
self.getLocalStorage ().db = sql.database (database_name)
def fetch_query (self, query):
print "Fetching from " + self.getLocalStorage ().database_name
print query[:30] + "..."
return sql.fetch_query (self.getLocalStorage ().db, query, ())
Pyro.core.initServer ()
ns = Pyro.naming.NameServerLocator ().getNS ()
server_name = "db_connector"
try: ns.unregister (server_name)
except Pyro.errors.NamingError: pass
daemon = Pyro.core.Daemon ()
try:
daemon.useNameServer (ns)
connector = database_connector ()
print "Connecting %s via %s" % (server_name, str (ns))
daemon.connect (connector, server_name)
while 1:
daemon.handleRequests (None)
finally:
try:
daemon.disconnect (connector)
except:
pass
</code>
-----Original Message-----
From: marcin andrzejewski [mailto:m.andrzejewski at dmz.com.pl]
Sent: 04 December 2002 11:09
To: python-list at python.org
Subject: remote db connection
is it possible to create a db connection object on server and use it by
client ?
which protocol (xml-rpc, soap, pyro) should i use ?
client:
px=protocol.proxy(remote_machine)
rdb=px.db(user,pass,database)
rcs=rdb.cursor()
data=rcs.fetchall("select * from")
rdb.close()
del px
--
marcin andrzejewski
m.andrzejewski at dmz.com.pl
keson at post.pl
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
More information about the Python-list
mailing list