[python-sybase] Numeric fields in .35

May, Chuck (IMS) MayC at imsweb.com
Fri, 24 Jan 2003 10:15:53 -0500


This is a multi-part message in MIME format.

------_=_NextPart_001_01C2C3BB.7C63DE49
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I am getting an error when I try to select a numeric(6,2) field from a
table.  Here is the code:

    # connect to the database
    db =3D Sybase.connect('peach5026d', 'may', 'maymay', 'nci_dev')
    c =3D db.cursor()
    c.arraysize =3D 64
    c.execute("SELECT volume FROM vial WHERE study_id =3D 'AHS'")

    while 1:
        rows =3D c.fetchmany()
        if not rows : break

        for row in rows:
            print row

    c.close()

and here is the error:

(
Traceback (most recent call last):
  File "./test_sybase.py", line 17, in ?
    print row
ValueError: no globla context defined

Searching on the other fields work fine.  Also, changing the SQL to read

   SELECT convert(float, volume) FROM vial WHERE study_id =3D 'AHS'"

also fixes the error.

Chuck

------_=_NextPart_001_01C2C3BB.7C63DE49
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.0.6249.1">
<TITLE>Numeric fields in .35</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=3D2 FACE=3D"Arial">I am getting an error when I try to =
select a numeric(6,2) field from a table.&nbsp; Here is the code:</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">&nbsp;&nbsp;&nbsp; # connect to the =
database</FONT>

<BR><FONT SIZE=3D2 FACE=3D"Arial">&nbsp;&nbsp;&nbsp; db =3D =
Sybase.connect('peach5026d', 'may', 'maymay', 'nci_dev')</FONT>

<BR><FONT SIZE=3D2 FACE=3D"Arial">&nbsp;&nbsp;&nbsp; c =3D =
db.cursor()</FONT>

<BR><FONT SIZE=3D2 FACE=3D"Arial">&nbsp;&nbsp;&nbsp; c.arraysize =3D =
64</FONT>

<BR><FONT SIZE=3D2 FACE=3D"Arial">&nbsp;&nbsp;&nbsp; =
c.execute(&quot;SELECT volume FROM vial WHERE study_id =3D =
'AHS'&quot;)</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">&nbsp;&nbsp;&nbsp; while 1:</FONT>

<BR><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rows =3D =
c.fetchmany()</FONT>

<BR><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not rows : =
break</FONT>
</P>

<P><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for row in =
rows:</FONT>

<BR><FONT SIZE=3D2 =
FACE=3D"Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp; print row</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">&nbsp;&nbsp;&nbsp; c.close()</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">and here is the error:</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">(</FONT>

<BR><FONT SIZE=3D2 FACE=3D"Arial">Traceback (most recent call =
last):</FONT>

<BR><FONT SIZE=3D2 FACE=3D"Arial">&nbsp; File =
&quot;./test_sybase.py&quot;, line 17, in ?</FONT>

<BR><FONT SIZE=3D2 FACE=3D"Arial">&nbsp;&nbsp;&nbsp; print row</FONT>

<BR><FONT SIZE=3D2 FACE=3D"Arial">ValueError: no globla context =
defined</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">Searching on the other fields work =
fine.&nbsp; Also, changing the SQL to read</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">&nbsp;&nbsp; SELECT convert(float, =
volume) FROM vial WHERE study_id =3D 'AHS'&quot;</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">also fixes the error.</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">Chuck</FONT>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01C2C3BB.7C63DE49--