我有一個需求,我需要從.bat文件運行.sql文件。 .sql文件的輸出應該重定向到.txt文件。我能夠做到這一點,但是sql文件正在打印以'_'加下劃線的列名,並且在文件末尾打印'3 rows selected'。我不希望列名和'3 rows selected'出現在輸出文件中。你能指出我在這裏做錯了什麼嗎? 以下是我的代碼的詳細信息。請注意,我的sql必須使用sqlplus在oracle數據庫中運行。從批處理文件運行SQL腳本 - 輸出不如預期
sql_file.sql
SET HEADING OFF FEEDBACK OFF ECHO OFF PAGESIZE 0
SET UNDERLINE off
select 'This '|| emp_name || ' belongs to ' || dept_name || ' department' as emp_data from emplyoee;
exit
batch_file.bat
@echo off
sqlplus -s -l scott/[email protected] @"C:\Data Files\sql_file.sql" >> "C:\Data Files\output_file.txt"
我想output_file.txt看起來像
This Charles employee belongs to Finance department
This Chris employee belongs to Sales department
This John employee belongs to Engineering department
但是我的代碼正在生產輸出
emp_data
--------------------------------------------------
This Charles employee belongs to Finance department
This Chris employee belongs to Sales department
This John employee belongs to Engineering department
3 rows selected
爲什麼你也許可以使用批處理文件代碼去除標題和預告片記錄,我相信你只是改變你的查詢,以便它不輸出該信息。你應該改變你的問題標籤,以包括類似sql查詢。我的DB人員始終輸出查詢,並且永遠不會輸出標題和預告片信息。 – Squashman
這很奇怪 - 我測試了你的sql腳本(包括套件的一行),它對我有用。你使用什麼版本? (我測試它在11.2.0.1) –
這種看起來像你的問題:http://stackoverflow.com/questions/28689851/remove-column-header-into-the-ouput-text-file – Squashman