2 u012141405 u012141405 于 2013.09.17 17:07 提问

请教如何用Excel VBA写宏,ODBA的方式连接Oracle,下载Oracle里面的数据

RT,以下是原先用AS400的时候取数据用的代码,换成Oracle之后在链接信息里面需要怎么设置呢?
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DRIVER={Client Access ODBC Driver (32-bit)};SYSTEM=" & HostName & ";CMT=0;DBQ=" & DBQName & ";NAM=0;DFT=5;DSP=1;TFT=0;TSP=0;DEC=0;XDYNAMIC=1;REC" _
), Array( _
"BLOCK=2;BLOCKSIZE=32;SCROLLABLE=0;TRANSLATE=0;LAZYCLOSE=1;LIBVIEW=0;REMARKS=0;CONNTYPE=0;SORTTYPE=0;PREFETCH=0;DFTPKGLIB=QGPL;L" _
), Array( _
"ANGUAGEID=ENU;SORTWEIGHT=0;SSL=2;SIGNON=3;MAXFIELDLEN=32;COMPRESSION=0;ALLOWUNSCHAR=0;SEACHPATTERN=1;MGDSN=0;" _
)), Destination:=Cells(1, 1))
.Sql = Array(sqlstring)
.FieldNames = True
.RefreshStyle = xlOverwriteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = True
.SaveData = True
End With

网上找到的一些
With ActiveSheet.QueryTables.Add("ODBC;DRIVER={Microsoft ODBC for Oracle};UID=jfalekaeg;PWD=123456;SERVER=iagent;",ActiveCell)
.CommandText = SQL语句
.Refresh BackgroundQuery:=False
End With
据说是可以的但是在我机器上就不行,怀疑是不是ODBC设置有问题。请有过经验的以及会的不吝赐教。

Csdn user default icon
上传中...
上传图片
插入图片