2012-01-13 84 views

回答

1

你可能想从擅长VBA

Sub DisplayDBATables() 

    Dim cn As ADODB.Connection 
    Dim rs As ADODB.Recordset 

    Set cn = New ADODB.Connection 
    Set rs = New ADODB.Recordset 

    cn.Open (_ 
    "User ID=rene"  & _ 
    ";Password=my_secret" & _ 
    ";Data Source=XE"  & _ 
    ";Provider=MSDAORA.1") 

    rs.Open "select * from dba_tables", cn 

    Cells(1, 1).CopyFromRecordset rs 

End Sub 

MSDN says复制一个ADO或DAO Recordset对象的内容中做到工作表,在规定范围内的左上角开始。如果Recordset对象包含其中包含OLE对象的字段,则此方法失败。

+0

嗨,我试着从“立即”做它,但我得到一个错误,它说“运行时错误'13':类型不匹配”, 当我试图从“常规”运行它时,我得到一个错误用户定义类型未定义。 这里有什么帮助吗?除了一些超级简单的更新脚本以外,我从未使用过vba。 – Joe 2012-01-13 10:08:50

+0

您是否添加了在Excel中使用ADODB的引用? – 2012-01-13 10:17:15

+0

不,但我不知道该怎么做。 描述如何做到这一点将是很好的! :) 我没有任何ADODB下的“参考”,我可以检查。 – Joe 2012-01-13 10:19:35

0

export(exp)命令用于以二进制格式导出数据(适合备份)。 使用sqlplus,可以使用spool命令将查询结果导出到文本文件。

More on using spool info here

这就是说,它更容易使用像蟾蜍或SQL开发工具来做到这一点。

+0

“这就是说,使用像蟾蜍或sql开发者这样的工具可以更容易地完成它。”你能告诉我如何通过查询或脚本将查询结果导出到txt文件吗? – mooseman 2013-05-23 15:17:11

+0

@mooseman使用线轴?蟾蜍? – 2013-05-23 15:19:44