2013-01-11 80 views
1

我有一個sqlldr(Oracle SQL Loader)控制文件(比如說myControlFile.ctl),運行時它一切正常。然而,它將一個日誌寫入一個名爲myControlFile的文件中,我更喜歡將其命名爲myControlFile.log如何在控制文件中設置sqlldr日誌文件

我已經通讀了sqlldr的文檔,我知道我可以將日誌文件設置爲命令行參數,但我想將其設置在控制文件本身內。這似乎不合理,因爲我可以通過這種方式設置壞的和丟棄的文件名。

我錯過了什麼?我目前在Windows上運行它,但它最終將在Unix上運行。

+0

[默認值](http://docs.oracle.com/cd/E11882_01/server.112/e22490/ldr_params.htm#sthref481)是擴展名爲「.log」的控制文件的名稱。你確定Windows資源管理器不只是隱藏擴展名嗎? (工具 - >文件夾選項 - >查看 - >隱藏已知文件類型的擴展名) –

+0

@AlexPoole - 我看到(在我的文章後面)sqlldr應該使用默認的.log擴展名創建,但它看起來不是。我爲所有這些使用DOS窗口。 – DaveRlz

回答

3

我相信你可以在參數文件中指定日誌文件,在命令行中用PARFILE參數指定。

可能日誌文件名必須傳遞給sql加載器可執行文件,以便在讀取控制文件或其他致命錯誤時會一直記錄下來。

+1

是的;如果無法創建日誌文件[立即終止](http://docs.oracle.com/cd/E14072_01/server.112/e10701/ldr_concepts.htm#i1004909)。 –

+0

我傾向於同意 - 雖然我認爲有點垃圾,我不能在控制文件中設置日誌文件(如果它不能讀取控制文件等,我會期望它登錄到屏幕) 。儘管我會接受這個答案! – DaveRlz

+0

這裏是parfile的參考[link](http://docs.oracle.com/cd/E11882_01/server.112/e22490/ldr_params.htm#SUTIL1036)daily_report.par包含'USERID = scott CONTROL = daily_report。 ctl ERRORS = 9999 LOG = daily_report.log' 將其作爲'sqlldr PARFILE = daily_report.par 運行密碼:password' –

相關問題