我有一个函数,它循环超过一百万条记录并连接到三个不同的数据库。语言是VB6。以下是涉及的步骤:
public function update(ByVal recordID As Integer) 'RecordID refers to a record in an SQL database
'Connect to an Oracle database
'Do a select and update the current record (recordID passed to function) if necessary
'Close connection
'Connect to an SQL database(1)
'Do a select and update the current record (recordID passed to function) if necessary
'Close connection
'Connect to an SQL database(2)
'Do a select and update the current record (recordID passed to function) if necessary
'Close connection
End Function
这个函数被多次调用,我认为在很多迭代中打开和关闭连接是浪费的(有时不需要连接到三个数据库中的一个或多个)。有一个更好的方法吗?我相信有两种方式:
最好的方法是什么?
答案 0 :(得分:1)
解决方案2和3在功能上是等效的,唯一的区别在于代码的组织。通常我更喜欢#3。但是在重用连接对象时要小心异常。一旦异常上升,我不确定该对象的状态是否得到保证。所以至少要考虑到这一点并在那种情况下“重新开放”。 另一点是多线程,但我想这将是单线程批处理工作吗?