使用ADODB的VBA查询在不同的计算机上返回不同的结果

在Excel中的VBAmacros中,我有一个问题,即具有完全相同的数据库凭据的完全相同的查询正在返回不同的结果,具体取决于脚本正在执行的计算机。 一些拉取所有正确的结果,其他人有结果丢失。

如果我们使用Toad或任何其他可以执行oracle的工具执行查询,那么它在所有testing过的机器上都能正常工作。

到目前为止,我们已经发现以下事情不会引起问题:

  • Oracle驱动程序版本(即时客户端与完全兼容testing没有发现相关性)
  • Excel版本(我公司的每个人都有相同的Excel版本)
  • VBA项目引用是相同的。
  • 确认所有机器都指向正确的数据库。
  • ODBC设置是相同的

所有testing的机器都在Windows 7上运行Excel 2010,数据库是Oracle 11,

这是脚本

Dim cn Set cn = CreateObject("ADODB.Connection") Dim rs Set rs = CreateObject("ADODB.Recordset") cn.ConnectionString = "DSN=#####;UID=####;PWD=#####;DBQ=######;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;MLD=0;ODA=F"` `cn.Open` `Set rs = cn.Execute(SQLfinal)` Dim iCol As Integer Dim iRow As Integer fldCount = rs.Fields.Count For iCol = 1 To fldCount Sheets("8. Data").Cells(12, iCol).Value = rs.Fields(iCol - 1).Name Next Sheets("8. ####").Cells(13, 1).CopyFromRecordset rs rs.Close Set rs = Nothing cn.Close Rows("12:12").Select Selection.AutoFilter With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorAccent1 .TintAndShade = 0.599993896298105 .PatternTintAndShade = 0 End With