在數據庫安裝包中,我們通過osql.exe這個工具來對相關的數據庫腳本進行更新,昨天突然發現安裝包報錯了,說腳本錯誤,但我們將腳本拿到數據庫查詢分析器中執行,一切OK。
問題出在哪裡呢? 通過使用osql單獨來執行報錯的腳本,打印相關信息:
復制代碼 代碼如下:
osql.exe -S .\SQLDEV -U sa -P MyRoot -b -n -r 1 -i ".\UpdateTable.sql" -o "c:\hahah.txt"
@echo %errorlevel%
@pause
得到如下錯誤信息:
osql Missing end comment mark "*/"
暈倒,說我的注釋符缺少了,可根本沒有少啊。
最後發現,原來是在注釋語句中存在 GO 語句的問題,如下:
/* ........... GO */
拿掉後,一切正常了,看來這也算是osql工具的一個小BUG吧。