回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我是Python新手,我想我可以通过写DB2数据库来尝试一下。Python是2.7版本,运行在iSeries上。我喜欢Python而不是RPG或CL来处理我的待办事项,所以我从基本原则开始。。。不过,我遇到了一个问题——我似乎不明白Python是如何处理字符串的。下面是一个例子:</p>
<p>请解释原因:</p>
<pre><code>db2cursor.execute('insert into trickledb.trickledb values(?, ?, ?, ?, ?, ?, ?, ?)',
('01100158059642','1055','2012-09-12','13:30:05','0700','1','1','28010'))
</code></pre>
<p>很好,(这些值被插入到我的数据库中),但是:</p>
^{pr2}$
<p>给出错误:</p>
<pre><code>db2cursor.execute(sql)
db2.Error: SQLState: 42601, Error code: -104
Token 'insert into trickledb.trickle was not valid.
Valid tokens: ( END GET SET CALL DROP FREE HOLD.
</code></pre>
<p>我的脑子疼!在</p>
<p>这是我的完整脚本-我正在从XML文件中提取数据:</p>
<pre><code>#!/usr/bin/env python
# (Be in -*- python -*- mode.)
import db2
from xml.dom import minidom
db2connection = db2.connect()
db2cursor = db2connection.cursor()
xmldoc = minidom.parse('test.XML')
itemlist = xmldoc.getElementsByTagName('PluSale')
for s in itemlist :
print s.attributes['PluCode'].value, s.attributes['TicketNumber'].value, s.attributes['Time'].value, s.attributes['Date'].value, s.attributes['StoreNumber'].value, s.attributes['PosNo'].value, s.attributes['Qty'].value, s.attributes['SequenceNbr'].value
PluCode = s.attributes['PluCode'].value
TicketNumber = s.attributes['TicketNumber'].value
Time = s.attributes['Time'].value
Date = s.attributes['Date'].value
StoreNumber = s.attributes['StoreNumber'].value
PosNo = s.attributes['PosNo'].value
Qty = s.attributes['Qty'].value
SequenceNbr = s.attributes['SequenceNbr'].value
string = "%s,%s,%s,%s,%s,%s,%s,%s" %(PluCode,TicketNumber,Date,Time,StoreNumber,PosNo,Qty,SequenceNbr)
list = [PluCode,TicketNumber,Date,Time,StoreNumber,PosNo,Qty,SequenceNbr]
tuple = (PluCode,TicketNumber,Date,Time,StoreNumber,PosNo,Qty,SequenceNbr)
print string
print list
print tuple
db2cursor.execute ('insert into trickledb.trickledb values(?, ?, ?, ?, ?, ?, ?, ?)', tuple)
db2connection.commit()
db2cursor.close()
db2connection.close()
</code></pre>
<p>我在.execute语句参数位用string替换元组,没有任何乐趣。我敢肯定这是一件很简单的事,我不能完全理解。这是我非常想克服的一个绊脚石,因为我喜欢在iSeries上使用Python的想法。。。与RPG或CL相比,它太强大了。。。。在</p>