I came to this group today to see what I could find on a particular
ZOPE/MySQL issue I'm having. It relates to this thread, somewhat. I
hope someone can give me some insight.

I have ZOPE installed on a WIN98 machine that is acting as a
temporary server until we go through a complete network upgrade to
Windows 2000 Server, et. al. I have a development workstation that is
using Windows 2000 Professional. This machine is where I have
installed MySQL. So, I have ZOPE on one machine and MySQL on the
other.

I installed the myODBC from mysql.com because I couldn't get any of
the ZMySQLDA/MySQLdb products to work on any version of Windows
(obviously it favors the Unix/Linux environment). Well, Windows is
what I'm stuck with now.

I created databases, set up my ODBC connections, set up my Z SQL
Methods and SQL Forms (depending upon which databases I access) and
can access the databases with beautiful results on my ZOPE
pages......BUT.....the results are extremellllllllllllllllllllly slow
in coming. Even small databases with just a few records take forever
to come up even with the most basic of SQL statements using either
SQL Forms (for example, my Purchase Order database):

<dtml-var standard_html_header>
<dtml-if CheckPermissions>

<dtml-unless REFERER><dtml-call "REQUEST.set
('REFERER',HTTP_REFERER)"></dtml-unless>
<dtml-unless sqf_edit_method><dtml-call "REQUEST.set
('sqf_edit_method','edit')"></dtml-unless>

<h3>> <dtml-var title_or_id>: <dtml-var document_title> (List)</h3>
<P>
<a href="&dtml-URL2;/">Up</a> -
<a href="&dtml-REFERER;">Back</a> -
<a href="list?REFERER=&dtml-REFERER;">List</a> -
<a href="add?REFERER=&dtml-REFERER;">Add</a>

<br><br>

       
<table CELLSPACING='&dtml-table_cell_spacing;'>
<tr BGCOLOR='&dtml-internal_title_color;'>
<th>P.O.#</th>
<th>Order Date</th>
<th>P.O. Vendor</th>
<th>Items</th>
<th>Terms</th>
<th>Total</th>
</tr>


<dtml-call "REQUEST.set('bat_size',_.int(viewlistlen))">
<dtml-unless start_key><dtml-call "REQUEST.set('start_key',0)"></dtml-
unless>
<dtml-if "_.int(start_key)<0"><dtml-call "REQUEST.set
('start_key',0)"></dtml-if>
<dtml-call "REQUEST.set('next_key',_.int(start_key))">

<dtml-call "REQUEST.set('flag',0)">

<dtml-call "REQUEST.set('q','select * from po2002 where autoid
>= '+_.str(start_key)+' order by autoid asc')">


<dtml-try>
<dtml-in "SQL(q=q)" size=bat_size>
<dtml-if "_.int(next_key) < _.int(autoid)">
  <dtml-call "REQUEST.set('next_key',autoid)">
</dtml-if>

<tr valign="top" align="left" BGCOLOR='<dtml-if "_.int(flag)
==1">&dtml-internal_c1_color;<dtml-else>&dtml-
internal_c2_color;</dtml-if>'>

<td><a href="&dtml-sqf_edit_method;?edit_key=<dtml-var
autoid>&REFERER=&dtml-REFERER;"><dtml-var autoid></a></td>
<td><dtml-var order_date></td>
<td><dtml-var vendor_name></td>
<td><dtml-var items></td>
<td><dtml-var terms></td>
<td><dtml-var total></td>
</tr>
<dtml-call "REQUEST.set('flag',1-_.int(flag))">
</dtml-in>

<dtml-except>
  <h1>General error</h1>
  <dtml-var errorinternalmethod>
</dtml-try>

</table>
<!-- navigation links -->
<br>
<a href="&dtml-URL0;?start_key=0&REFERER=&dtml-REFERER;">First</a> -
<a href="&dtml-URL0;?start_key=<dtml-var "_.int(start_key)-_.int
(bat_size)">&REFERER=&dtml-REFERER;">Prev</a> -
<a href="&dtml-URL0;?start_key=<dtml-var "_.int
(next_key)">&REFERER=&dtml-REFERER;">Next</a>

<dtml-else>
    <dtml-var standard_html_header>
</dtml-if>
<dtml-var standard_html_footer>

and then Z SQL Methods (for example, a document log database):

Example 1:

select * from yr2000

Example 2:

SELECT * FROM yr2000 WHERE doc_author='JEF'

I also tried to set up a search form so users can perform searches
themselves instead of having to be limited to choosing from pre-
constructed reports I provide them. It's
daaaaaaaaaaaaaaawwwwwwwwwwwwwwwggggggggggggggg slowwwwwwwwwwwwwwwww
though. I even went so far as to perform table structure tests on my
MySQL databases to ensure I was optimizing them for the fastest
performance. Any searches done through a MySQL client returns quick
results but I want all of their access to these databases to be web-
based (i.e., through ZOPE site). Help!

Thanks.
Deb


--- In zope@yahoogroups.com, "Bryan Capitano" wrote:
> There are several options to using Zope+MySQL on the same Windows
box. I
> have not done this in a production server environment, so I can't
say how
> well that would work. But for development purposes, it works just
fine.
>
> I had some problems getting python-MySQL adapter to install on
Windows and
> recognize my python installation (because I was trying to install
MySQLDA).
> But there are two ways around this problem which I've learned:
> (1) One is to install MyODBC (see www.mysql.com) and create a
System ODBC
> database for your MySQL database. Then install the MyODBCDA
database adapter
> for Zope (instead of MySQLDA). This allows you to talk to MySQL
through an
> ODBC bridge. This solution works like a charm.
> (2) The second workaround is to install Python2.1.3 on your machine
> separately from the Windows Zope installation. Then install the .exe
> Mysql-Python package (www.sourceforge.net). Then copy the installed
files to
> the Zope/Python directory. Then install MySQLDa. This solution was
provided
> to me by another list member (hiren_hindocha@a...).
>
>

> -----Original Message-----
> From: zope-admin@z... [mailto:zope-admin@z...]On Behalf Of Greg &
> Janet LINDSTROM
> Sent: Saturday, November 02, 2002 7:41 AM
> To: zope@z...
> Subject: [Zope] Zope and MySQL on Windows
>
>
> Greetings-
> I have a fairly mature Python application which uses MySQL for the
database.
> I would like to switch over from a single machine application to a
web based
> app (and maybe even make some money!!), and thought Zope would be
the
> logical choice. The past 2 weeks have had me running through the
examples
> in the Zope book and the Zope "Bible", and I *think* I am ready to
create a
> project. Then I read the the creators of Zope do not reccommend
using MySQL
> with Zope on a Windows box. Rats! So...
> 1. Is this still sound advice?
> 2. If so, what other Open Source Database is out there. I
really would
> like data/time data types, so that would leave Gadfly out, right?
Plus. my
> database is getting fairly large (~5 Meg), so I'm not sure I want
to load it
> all in memory.
>
> Thanks for any advice you can supply!
> Greg Lindstrom
> Vilonia, Arkansas
>




Do you Yahoo!?
Yahoo! News - Today's headlines