提前致谢!!!
答案 0 :(得分:1)
这是建立2个独立的连接并逐个执行:
Set objmyconn = New ADODB.Connection
Set objmyconn2 = New ADODB.Connection
objmyconn.Open "Driver={Teradata};DBCName=DB1;Database=DB1;Uid=LUSER1;Pwd=LPWD1;"
objmyconn2.Open "Driver={Teradata};DBCName=DB1;Database=DB1;Uid=LUSR2;Pwd=LPWD2;"
Set RS = objmyconn.Execute("SELECT USER")
While Not RS.EOF
MsgBox (RS.Fields(0).Value)
RS.MoveNext
Wend
Set RS2 = objmyconn2.Execute("SELECT USER")
While Not RS2.EOF
MsgBox (RS2.Fields(0).Value)
RS2.MoveNext
Wend
objmyconn.Close
objmyconn2.Close
对于并行处理,您需要将上述代码拆分为两个不同的proc并安装并行处理Excel附加组件;这样,您的两个Teradata连接将同时执行。
或者更好 - 通过2个并行VBS文件执行这些调用,而不是试图征服Excel。
答案 1 :(得分:0)
我可以说2到3个小时很长一段时间!
我只能建议一件事,因为你还没有任何代码可以继续,我不熟悉连接类型:
Excel可以打开多个应用程序实例,这与当前打开的工作簿中的新工作簿完全不同。
有几种方法可以检查,主要的一种方法是你无法链接到另一个excel实例中的一个单元格,我经常在尝试在不在同一个实例中的工作簿之间执行vlookup
时得到这个。如果你按<ctrl> + <c>
循环遍历你的工作簿,其他excel实例就不会显示。
您可以通过右键单击任务栏上的Excel并打开一个新的Excel来打开一个新实例。如果成功,将无法打开excel。
顺便说一句,我将异步连接到oracle并使用一个循环来检查连接的状态并添加Do Events
函数以启用excel以保持工作。