将 SQL 脚本作为窗口批处理文件运行



我正在使用Oracle 11g,并且有一个Oracle SQL查询(不是SQL+(,如下所示

spool E:teSTlog.txt
select username,account_status, created, default_tablespace 
from dba_users where username='MMCANE';
spool off
exit;

我打算作为 Windows 批处理文件运行,为此我创建了配置如下的.bat文件

sqlplus *username*/*password*@*database* @E:teSTUntitled.sql

其中">无标题".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. 有没有办法格式化它?如果是这样,我应该在哪里发出命令?

我尝试在查询中指定行大小、换行和其他命令,但由于我用 Oracle SQL 编写了查询,因此无法正常工作。任何帮助将不胜感激。

谢谢。

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"

最新更新