解決在SQL腳本中的注釋引起的奇怪問題
更新時間:2013年11月01日 18:00:32 作者:
通過osql.exe這個工具來對相關(guān)的數(shù)據(jù)庫腳本進(jìn)行更新,昨天突然發(fā)現(xiàn)安裝包報錯了,說腳本錯誤,研究發(fā)現(xiàn)有個不錯的解決方法,需要的朋友不要錯過
在數(shù)據(jù)庫安裝包中,我們通過osql.exe這個工具來對相關(guān)的數(shù)據(jù)庫腳本進(jìn)行更新,昨天突然發(fā)現(xiàn)安裝包報錯了,說腳本錯誤,但我們將腳本拿到數(shù)據(jù)庫查詢分析器中執(zhí)行,一切OK。
問題出在哪里呢?
通過使用osql單獨來執(zhí)行報錯的腳本,打印相關(guān)信息:
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 "*/"
暈倒,說我的注釋符缺少了,可根本沒有少啊。
最后發(fā)現(xiàn),原來是在注釋語句中存在 GO 語句的問題,如下:
/* ........... GO */
拿掉后,一切正常了,看來這也算是osql工具的一個小BUG吧。
問題出在哪里呢?
通過使用osql單獨來執(zhí)行報錯的腳本,打印相關(guān)信息:
復(fù)制代碼 代碼如下:
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 "*/"
暈倒,說我的注釋符缺少了,可根本沒有少啊。
最后發(fā)現(xiàn),原來是在注釋語句中存在 GO 語句的問題,如下:
/* ........... GO */
拿掉后,一切正常了,看來這也算是osql工具的一個小BUG吧。
相關(guān)文章
SQL?Server2022數(shù)據(jù)庫安裝及配置過程
最近發(fā)現(xiàn)有諸多的小伙伴們對于sqlserver安裝教程2022,sql server安裝教程這個問題都頗為感興趣的,這篇文章主要給大家介紹了關(guān)于SQL?Server2022數(shù)據(jù)庫安裝及配置的相關(guān)資料,需要的朋友可以參考下2023-12-12
SQL Server2019數(shù)據(jù)庫備份與還原腳本(批量備份)
本文主要介紹了SQL Server2019數(shù)據(jù)庫備份與還原腳本,數(shù)據(jù)庫可批量備份,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
揭秘SQL Server 2014有哪些新特性(1)-內(nèi)存數(shù)據(jù)庫
微軟SQL Server 2014提供了眾多激動人心的新功能,但其中最讓人期待的特性之一就是代號為” Hekaton”的內(nèi)存數(shù)據(jù)庫了,內(nèi)存數(shù)據(jù)庫特性并不是SQL Server的替代,而是適應(yīng)時代的補充,現(xiàn)在SQL Server具備了將數(shù)據(jù)表完整存入內(nèi)存的功能。那么今天我們就先來看看內(nèi)存數(shù)據(jù)庫2014-08-08
關(guān)于SQL中CTE(公用表表達(dá)式)(Common Table Expression)的總結(jié)
WITH AS短語,也叫做子查詢部分(subquery factoring),可以讓你做很多事情,定義一個SQL片斷,該SQL片斷會被整個SQL語句所用到2012-08-08

