我是NetRexx和Java的两天新手。
我尝试修改IBM红皮书示例,以创建一个在firebird数据库上执行SQL的多线程tcp服务器。
第一次尝试是http://www.compkarori.co.nz:8000/NetRexx/JDBC-bridge.nrx
当我尝试循环通过列数据时
loop col=1 to nbr_columns
say 'Column' col
-- say rs.getString(col) -- gives error Message: Column name 1 not found in result set.
if buffer = '' then
buffer = rs.getString(column_name).trim()
else
buffer = buffer || '|' || rs.getString(column_name).trim()
end
如果我使用循环计数器作为索引viz:rs.getString(col),我会在代码注释中收到错误,所以我正在使用columnname。但如果我这样做:
say rs.getString(1)
没关系。这是因为col是Rexx字符串而不是Java整数还是什么?
此外,我必须在每次查询后关闭套接字和线程,否则我不会得到任何回复。这是必要的还是我可以以某种方式让线程继续运行以接受新的查询?
(ps:有人可以添加NetRexx标签吗??)
答案 0 :(得分:1)
getString方法被重载,这就是我需要强制int值的原因。我想出了如何重用线程和套接字..注意到只有Oracle和Firebird / Interbase JDBC连接对象看起来是线程安全的