我正在使用Oracle 11g,并具有如下所示的Oracle SQL查询(不是SQL +)
spool E:\teST\log.txt
select username,account_status, created, default_tablespace
from dba_users where username='MMCANE';
spool off
exit;
我打算作为Windows批处理文件运行,为此,我使用以下配置创建了.bat文件
sqlplus *username*/*password*@*database* @E:\teST\Untitled.sql
Untitled.sql 在其中,选择查询正在运行
1。我可以将其作为SQL而不是SQL Plus来运行吗?
运行批处理文件会以文本文件的形式生成所需的输出,但是由于将其作为sqlplus运行,因此会获得未格式化的输出文本文件(请参见下文)
USERNAME ACCOUNT_STATUS
---------- --------------------------------
CREATED
--------------------------------------------------------------
DEFAULT_TABLESPACE
--------------------------------------------------------------------------------
MMCANE OPEN
13-SEP-17
USERS
与通过在SQL开发人员本身中运行查询所生成的脚本输出(请参见下文)相反
USERNAME ACCOUNT_STATUS CREATED DEFAULT_TABLESPACE
------------------ ----------------------------- ------------------------- -----------------------
MMCANE OPEN 13-SEP-17 USERS
2。有格式化的方法吗?如果是这样,我应该在哪里发出命令?
我尝试在查询中指定 linesize,wrap 和其他命令,但是由于我已经用Oracle SQL编写了查询,因此无法正常工作。任何帮助将不胜感激。
谢谢。
答案 0 :(得分:1)
VBA脚本可能是要走的路?
dim cn, rs
set cn = CreateObject("ADODB.Connection")
set rs = CreateObject("ADODB.Recordset")
cn.connectionString = "Driver={MySQL ODBC 5.1 Driver};Server=yourServerAddress;" & _
"Database=yourDataBase;User=yourUsername;" & _
"Password=yourPassword;"
cn.open
rs.open "select * from Countries", cn, 3
rs.MoveFirst
while not rs.eof
wscript.echo rs(0)
rs.next
wend
cn.close
wscript.echo "End of program"