4
A
回答
14
通過傳遞一個參數來阻止SQLCMD
返回非錯誤輸出消息是不可能的。
但是,您可以做的是將錯誤消息重定向到STDERR
,然後將所有其他消息指向NUL
。
這是通過傳遞-r
參數來完成的。從books online:
-r [0 | 1] msgs到stderr
將錯誤信息輸出重定向到屏幕(stderr)。如果不指定參數或者指定0,則只有嚴重級別爲11或更高級別的錯誤消息被重定向。如果指定1,則包括PRINT的所有錯誤消息輸出都將被重定向。如果使用-o,則不起作用。默認情況下,消息被髮送到標準輸出。
集-r
這依賴於你想顯示,而是顯示所有的錯誤信息輸出,錯誤信息,一個示例命令是:
sqlcmd -Q "select 1 as a; select 1/0 as b" -E -r1 1> NUL
1
,正如除此之外,如果你是發送錯誤到文件,我發現這https://www.simple-talk.com/sql/sql-tools/the-sqlcmd-workbench/
我已經使用。如果你忽略設置OUT,那麼你只會得到一個創建的錯誤日誌。 所以,你有這樣的命令:
sqlcmd -x -E -S MyServer -i C:\MySQLBatchToRun.sql
然後在MySQLBatchToRun.sql,像這樣
USE MyDatabase
:Error C:\MyErrorLog.txt
:r C:\MySQLScript.sql
GO
在MySQLScript.sql你有實際的SQL運行。這有點複雜,但工作。我唯一的問題是它似乎創建了一個空的錯誤日誌文件,即使沒有錯誤。
0
它看起來像被送到與-r1到標準錯誤,所以你可以用它們來記錄您的輸出單獨像這樣的打印語句:
sqlcmd -Q "print 'hello logfile';select 'Ted' as bro" -r1 1> C:\output.txt 2> C:\logfile.txt
這也適用於-i INPUTFILE喜歡: SQLCMD -i helloTed.sql -r1 1> C:\ output.txt的2> C:\ LOGFILE.TXT
helloTed.sql:
打印 '你好日誌文件';
選擇「特德」作爲兄弟
也許你可以使用-Q和exec的插入包含打印存儲的過程。
相關問題
- 1. xcodebuild不會輸出警告和錯誤?
- 2. 如何捕捉所有JavaScript警告和錯誤到輸出div?
- 3. 如何將警告和錯誤保存爲函數的輸出?
- 4. 如何在警告和錯誤中包含數據幀輸出?
- 5. 重定向cmdlet警告/錯誤輸出?
- 6. 當jshint發出警告時,如何讓Webpack退出時出錯?
- 7. 如何在excel中輸出id號而無錯誤警告
- 8. 如何讓ipython每次都發出警告(重複警告)?
- 9. 如何讓Python警告錯誤的練習和可能的錯誤?
- 10. 警告 - 錯誤提出:錯誤:聽EADDRINUSE
- 11. ASP 3.0考慮從SQL Server輸出和警告作爲錯誤
- 12. 禁止所有make輸出,除了錯誤和警告
- 13. mysqli - 警告和錯誤
- 14. 「strcpy的」錯誤和警告
- 15. XCode 4,錯誤和警告
- 16. MinGW和Boost警告錯誤?
- 17. 致命錯誤和警告?
- 18. 警告和部署錯誤
- 19. simplexml警告和錯誤
- 20. 使用utf8時不會輸出Perl警告,嚴格錯誤和診斷錯誤
- 21. 錯誤/警告
- 22. 讓Git發出警告
- 23. 如何僅禁用生成文件的「警告爲錯誤」? (MSBuild)
- 24. 和的NodeJS插座IO:警告 - 錯誤提出:錯誤:聽EADDRINUSE
- 25. 如何讓Kotlin編譯器將警告視爲錯誤?
- 26. javac和scalac警告僅作爲特定類型的錯誤
- 27. 警告:mysql_fetch_array():錯誤
- 28. CGContext錯誤/警告
- 29. XSD.exe警告錯誤
- 30. Taglib錯誤/警告
謝謝。 MSDN提到了-m和-V選項:[link] http://msdn.microsoft.com/en-us/library/ms162773。aspx - 但它表示嚴重性級別需要等於或小於提供的數字。對我來說這似乎很奇怪,例如爲什麼有人想要信息消息而不是錯誤。我希望有更多的log4net(例如)樣式嚴重性過濾器(指定ERROR並僅獲取ERROR和FATAL消息) – nashwan
注意:然後我將使用-r0(僅獲取錯誤)。只需要做到沒有「警告」。 – nashwan