By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,427 Members | 1,356 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,427 IT Pros & Developers. It's quick & easy.

MySQLdb reconnect

P: n/a
Does MySQLdb automatically reconnect if the connection to the database is
broken?

I'm asking this since I have a longrunning Python precess that is connected
to Mysql-4.1.11, and I execute "set names utf8" when I connect to it.

But after running a day the results from the python program were displayed
as if the "set names utf8" was not executed i.e. I got question marks where
utf-8 cyrillics should've appeared. After restarting the Python program
everything was ok, just as when I first started it.

The long running Python process is actually a scgi quixote web application.
--
damjan
Jul 19 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
I don't beleive that it does. You can however call ping() on the
connection which should attempt an automatic reconnection.

See the docs for mysql_ping:

http://dev.mysql.com/doc/mysql/en/mysql-ping.html

I've never tested that, but I have a need for it also so let me know if
it works or not.

-Dan

Jul 19 '05 #2

P: n/a
> Does MySQLdb automatically reconnect if the connection to the database is
broken?
It seems so.
I'm asking this since I have a longrunning Python precess that is
connected to Mysql-4.1.11, and I execute "set names utf8" when I connect
to it.

But after running a day the results from the python program were displayed
as if the "set names utf8" was not executed i.e. I got question marks
where utf-8 cyrillics should've appeared. After restarting the Python
program everything was ok, just as when I first started it.


This is the sollution I've come to:

try:
# This will fail on MySQL < 4.1
db = MySQLdb.connect(godot.dbhost, godot.dbuser, godot.dbpass,
godot.dbname, use_unicode=1, init_command="set names utf8")
except MySQLdb.OperationalError:
db = MySQLdb.connect(godot.dbhost, godot.dbuser, godot.dbpass,
godot.dbname, use_unicode=1)
db.charset = 'utf8'
--
damjan
Jul 19 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.