[Zope-DB] Problem selecting Oracle LOB's
Jorge O. Martinez
jmartinez@emediamillworks.com
Tue, 19 Mar 2002 10:11:34 -0500
(I am resubmitting this question because I had initially sent it with
the wrong subject, and figured people would think it's the same subject.
Sorry about that).
Hi:
I have been able to install Zope, DCOracle2, and was able to make a
connection to the DB, and execute simple queries displaying results just
fine.
However, I have not been able to get LOB's to work. I am following the
examples from Peterb in:
http://www.zope.org/Members/peterb/oracle_lobs
I am trying to do a select blob, and I get the template to display the
id (which is the argument I pass), but don't get anything for the
knowledge_text (the LOB, which is only text), this is what I am getting:
KNOWLEDGE ID KNOWLEDGE TEXT
44
SQL used:
SELECT
knowledge_id, knowledge_text
FROM
knowledge
where
knowledge_id = 44
I know it must be my error because I think I am not calling the "select"
Python script correctly; I've tried several different ways, and get all
kinds of errors. Anybody outthere knows what is the correct way to call
it from the Z SQL Method? This is what I have in my Z SQL Method:
------------
SELECT
knowledge_id, knowledge_text
FROM
knowledge
<dtml-sqlgroup where>
<dtml-sqltest knowledge_id op=eq type=int optional>
</dtml-sqlgroup>
<dtml-in select>
<dtml-var sequence-item>
</dtml-in>
** I am including 1 of the ways how I tried to call the 'select' script
but it does not work**
------------
And this is the code in the select Python script (same from the sample
code). I've tried many different ways, this is just the latest:
# Manually iterate over whole result set, copy into list of dicts just
# like dictionaries()
# except we also read all BLOBs in their entirety and put in the value,
# not the LobLocator
result = []
for row in container.sql_select_blob(id=id):
lob = row['blob']
result.append({'id': row['id'], 'blob': lob.read()})
return result
** Note, I've tried this way, and also replacing the 'id=id' for
'id=knowledge_id', but it did not work, also I replaced the 'blob' for
'knowledge_text' (my blob), but it doesn't like it **
I am new to Python and Zope, hence this basic question. I am sure it
must be something simple, so thanks for your patience,
Regards,
Jorge M.
--
Jorge O. Martinez
MIS Senior Associate
eMediaMillWorks
1100 Mercantile Lane, Suite 119
Largo, MD 20774
E-mail => jmartinez@eMediaMillWorks.com
Phone => (301)883-2482 ext. 105
Fax => (301)883-9754